summaryrefslogtreecommitdiffstats
path: root/application/modules/fbgui/controllers/AuthController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/fbgui/controllers/AuthController.php')
-rw-r--r--application/modules/fbgui/controllers/AuthController.php25
1 files changed, 17 insertions, 8 deletions
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 {