public function loginAction() { //$this->_helper->layout()->disableLayout(); $formAuthLogin = new Form_Auth_Login(); $this->view->form = $formAuthLogin; if ($this->getRequest()->isPost()) { if ($formAuthLogin->isValid($this->getRequest()->getPost())) { $dadosAutenticacao = $formAuthLogin->getValues(); $db = Zend_Registry::get('db'); $authAdapter = new Zend_Auth_Adapter_DbTable($db); try { $authAdapter->setTableName('administrador')->setIdentityColumn('administrador_email')->setCredentialColumn('administrador_senha')->setIdentity($dadosAutenticacao['administrador_email'])->setCredential(md5($dadosAutenticacao['administrador_senha'])); $authAdapter->getDbSelect()->where("administrador_ativo = ?", 1); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $dadosAdministrador = array(); Zend_Auth::getInstance()->getStorage()->write($dadosAdministrador); $this->_redirect("index/"); } else { $this->_helper->flashMessenger->addMessage(array('class' => 'alert alert-danger', 'message' => 'Usuário e/ou senha inválidos!')); Zend_Debug::dump($result); die; $this->_redirect("admin/autenticacao/login"); } } catch (Exception $e) { $this->_helper->flashMessenger->addMessage(array('class' => 'alert alert-danger', 'message' => 'Houve um erro na autenticação - ' . $e->getMessage())); $this->_redirect("auth/login"); } } } }
public function loginAction() { $loginForm = new Form_Auth_Login(); if ($loginForm->isValid($_POST)) { # Better to use more secure hash method, using md5 just to explain and simplicity $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter(), 'users', 'username', 'password', 'MD5(?)'); # alternaitive to above // $authAdapter->setTableName('users') // ->setIdentityColumn('username') // ->setCredentialColumn('password') // ->setCredentialTreatment('MD5(?)'); // putting the form values to adapter, so in future it can be verify $authAdapter->setIdentity($loginForm->getValue('username')); $authAdapter->setCredential($loginForm->getValue('password')); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $this->_helper->FlashMessenger('Login successful'); // setting the message, so in view it can be display $this->view->message = $this->_helper->flashMessenger->getMessages(); if ($loginForm->getValue('username') == 'admin') { $this->_helper->FlashMessenger('Welcome Admin'); $this->view->message = $this->_helper->flashMessenger->getMessages(); $this->_redirect('user/index'); //$this->_redirect('http://google.com'); } return; } else { echo "failed"; } } $this->view->loginForm = $loginForm; }