From 523e29fd1b8f8aab0ce4291a1dab317781780847 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Mon, 27 Feb 2012 13:18:46 +0100 Subject: yend auth used for authentication after certificate check --- .../modules/fbgui/controllers/AuthController.php | 25 +++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'application') diff --git a/application/modules/fbgui/controllers/AuthController.php b/application/modules/fbgui/controllers/AuthController.php index b39d899..28d13dc 100644 --- a/application/modules/fbgui/controllers/AuthController.php +++ b/application/modules/fbgui/controllers/AuthController.php @@ -31,19 +31,28 @@ class Fbgui_AuthController extends Zend_Controller_Action { $issuerdn = $_SERVER['SSL_CLIENT_I_DN']; $certificatemapper = new Application_Model_CertificateMapper(); $certificate = $certificatemapper->findBy(array('serial' => $serial, 'issuerdn' => $issuerdn)); + $certificate = array_shift($certificate); if(isset($certificate)){ - print_a($certificate); - print_a(time()); if (!$certificate->getRevoked() && !$certificate->getGuestcert() && ($certificate->getExpiredate() - time()) > 0){ $person = $this->personmapper->find($certificate->getPersonID()); - $date = new DateTime(); - $person->setLogindate($date->getTimestamp()); - $this->personmapper->save($person); - $this->_helper->redirector('selectmembership', 'person'); - return; + + $auth = Zend_Auth::getInstance(); + $adapter = new Zend_Auth_Adapter_DbTable($this->db, 'pbs_person', 'email', 'password'); + $adapter->setIdentity($person->getEmail()); + $adapter->setCredential($person->getPassword()); + $result = $auth->authenticate($adapter); + + if ($result->isValid()) { + $person->setLogindate(time()); + $this->personmapper->save($person); + $this->_helper->redirector('selectmembership', 'person'); + return; + } else { + echo "Wrong Email or Password."; + } } } -// $this->_redirect('/fbgui/index/error/certresult/forbidden'); + $this->_redirect('/fbgui/index/error/certresult/forbidden'); } else { -- cgit v1.2.3-55-g7522