public function loginAction() { $users = new Application_Model_DbTable_Users(); $form = new Application_Form_LoginForm(); $this->view->form = $form; if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); $auth = Zend_Auth::getInstance(); $authAdapter = new Zend_Auth_Adapter_DbTable($users->getAdapter(), 'users'); $authAdapter->setIdentityColumn('username')->setCredentialColumn('password'); $authAdapter->setIdentity($data['username'])->setCredential($data['password']); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $storage = new Zend_Auth_Storage_Session(); $storage->write($authAdapter->getResultRowObject()); $this->_redirect('auth/home'); } else { $this->view->errorMessage = "Invalid username or password. Please try again."; } } } }
protected function _getAuthAdapter($treatment = true) { $users = new Application_Model_DbTable_Users(); $authAdapter = new Zend_Auth_Adapter_DbTable($users->getAdapter()); if ($treatment) { $authAdapter->setTableName('users')->setIdentityColumn('user_email')->setCredentialColumn('hashed_password')->setCredentialTreatment('SHA1(?)'); } else { $authAdapter->setTableName('users')->setIdentityColumn('user_email')->setCredentialColumn('hashed_password'); } return $authAdapter; }