From 8e1302857fb4350bb68a7b334a183ba68c59e91c Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 31 Jan 2011 15:09:44 +0100 Subject: Login funktioniert --- application/Bootstrap.php | 4 ++++ application/controllers/AuthController.php | 24 +++++++++++++----------- application/controllers/PersonController.php | 15 ++++++--------- application/views/scripts/auth/login.phtml | 5 ++--- application/views/scripts/index/index.phtml | 8 -------- 5 files changed, 25 insertions(+), 31 deletions(-) (limited to 'application') diff --git a/application/Bootstrap.php b/application/Bootstrap.php index 26169dd..6ac8a0e 100644 --- a/application/Bootstrap.php +++ b/application/Bootstrap.php @@ -3,5 +3,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { + protected function _initAuth(){ + $auth = Zend_Auth::getInstance(); + $auth->setStorage(new Zend_Auth_Storage_Session('auth')); + } } diff --git a/application/controllers/AuthController.php b/application/controllers/AuthController.php index 070c2e8..cc0bca2 100644 --- a/application/controllers/AuthController.php +++ b/application/controllers/AuthController.php @@ -12,6 +12,9 @@ class AuthController extends Zend_Controller_Action $loginForm = new Application_Form_AuthLogin($_POST); if ($loginForm->isValid($_POST)) { + + $auth = Zend_Auth::getInstance(); + $adapter = new Zend_Auth_Adapter_DbTable( $db, 'pbs_person', @@ -19,20 +22,19 @@ class AuthController extends Zend_Controller_Action 'password', 'MD5(CONCAT(?, password_salt))' ); - + + $adapter->setIdentity($loginForm->getValue('email')); $adapter->setCredential($loginForm->getValue('password')); - - $result = $adapter->authenticate(); - + + $result = $auth->authenticate($adapter); + + // TODO: erweiterte fehlerbeschreibung des Users + // siehe http://framework.zend.com/manual/en/zend.auth.introduction.html + if ($result->isValid()) { - //$this->_helper->FlashMessenger('Erfolgreich angemeldet'); - $this->_userNamespace->username = 'testt'; - - Zend_Debug::dump($_SESSION, $label="_SESSION nach Login: ", $echo=true); - Zend_Debug::dump($this->_userNamespace, $label="userNamespace: ", $echo=true); - $this->view->loginStatus = "Eingeloggt als " . $this->_userNamespace->username; - #$this->_redirect('/'); + #$this->_helper->FlashMessenger('Erfolgreich angemeldet'); + $this->_redirect('/'); return; } else { //$this->_helper->FlashMessenger('E-Mail oder Passwort falsch'); diff --git a/application/controllers/PersonController.php b/application/controllers/PersonController.php index 9a8aea2..a0b2faf 100644 --- a/application/controllers/PersonController.php +++ b/application/controllers/PersonController.php @@ -3,20 +3,17 @@ class PersonController extends Zend_Controller_Action { - public function init() + public function preDispatch() { - + if (!Zend_Auth::getInstance()->hasIdentity()) { + // TODO: quick hack fixxen + $this->_redirect('/Auth/login'); + } } public function indexAction() { - if (!Zend_Auth::getInstance()->hasIdentity()) { - echo 'case1'; - - - echo "already logged in as: " . Zend_Auth::getInstance()->getIdentity(); - #$this->_redirect($this->url(array('Auth','login'))); - } + echo 'case2'; // action body } diff --git a/application/views/scripts/auth/login.phtml b/application/views/scripts/auth/login.phtml index 0618564..0242bc6 100644 --- a/application/views/scripts/auth/login.phtml +++ b/application/views/scripts/auth/login.phtml @@ -2,8 +2,7 @@ $this->loginForm->setAction($this->url()); echo $this->loginForm; -echo "
"; 
-print_r($_SESSION);
-echo "
"; + + ?> diff --git a/application/views/scripts/index/index.phtml b/application/views/scripts/index/index.phtml index b3c2b57..487bd28 100644 --- a/application/views/scripts/index/index.phtml +++ b/application/views/scripts/index/index.phtml @@ -1,9 +1 @@ -getIdentity(); -echo "
"; 
-print_r($_SESSION);
-echo "
"; -Zend_Debug::dump($_SESSION, $label="_SESSION nach Login: ", $echo=true); - $this->view->loginStatus = "Eingeloggt als " . $this->_userNamespace->username; -?>

Zend-Framework Index

-- cgit v1.2.3-55-g7522