public function getForm() { $form = new Default_Form_Login(); $form->setAction(Zend_Controller_Front::getInstance()->getBaseUrl() . '/login/process/returnUrl/' . $this->getRequest()->getParam('returnUrl')); $form->setMethod('post'); return $form; }
public function loginAction() { $this->view->pagina_action = "Login"; $this->view->pagina_descricao = "Informe seu usuário e senha para acessar o sistema."; // Instancia o formulário de login $objFormLogin = new Default_Form_Login(); if ($this->_request->isPost()) { $data = $this->getRequest()->getPost(); if ($objFormLogin->isValid($data)) { $objAuth = Zend_Auth::getInstance(); $authAdapter = new Zend_Auth_Adapter_DbTable(Lepard_Db_Adapter::get(), 'usuario', 'login', 'password'); $authAdapter->setIdentity($data['login'])->setCredential($data['password']); //print_r($authAdapter);die; $result = $objAuth->authenticate($authAdapter); if ($result->isValid()) { /** * Pega os dados do usuário, omitindo a senha * http://framework.zend.com/manual/en/zend.auth.adapter.dbtable.html */ $authData = $authAdapter->getResultRowObject(null, 'password'); // Armazena os dados do usuário $objAuth->getStorage()->write($authData); echo 'Login efetuado com sucesso!'; $this->getHelper('Redirector')->setGotoUrl('/index'); } else { echo 'Os dados informados (login/senha) não são válidos.'; } } } $this->view->form = $objFormLogin; }
public function requireuserAction() { // 403 error -- authorization failed $this->getResponse()->setRawHeader($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden'); $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('You are not authorized to access this resource.'); // Show the login form for them :P $this->view->form = $form = new Default_Form_Login(); $form->addError('Vui lòng đăng nhập để tiếp tục...'); $form->return_url->setValue(Zend_Controller_Front::getInstance()->getRouter()->assemble(array())); }
public function loginAction() { if (Zend_Auth::getInstance()->hasIdentity()) { } else { $this->_helper->layout->disableLayout(); } $form = new Default_Form_Login(); $this->view->form = $form; $this->_flashMessenger = $this->_helper->getHelper('FlashMessenger'); $this->view->messages = $this->_flashMessenger->getMessages(); //Verifica se existem dados de POST if ($this->getRequest()->getPost()) { $data = $this->getRequest()->getPost(); //Formulário corretamente preenchido? if ($form->isValid($data)) { $login = $form->getValue('login'); $senha = $form->getValue('senha'); $model_user = new Default_Model_Usuario(); $ativo = $model_user->buscarPorLoginUsuarios($login); if ($ativo['status_usuario'] == 1) { $senhaAlterada = $ativo['senha_alterada']; try { $auth = new Default_Model_Login(); $auth->login($login, $senha); if ($senhaAlterada == 0) { return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'index', 'action' => 'index'), null, true); } else { return $this->_helper->redirector->goToRoute(array('module' => 'cadastros', 'controller' => 'usuarios', 'action' => 'alterar-senha-primeiro-acesso'), null, true); } } catch (Exception $e) { echo "<script type='text/javascript'>"; echo "alert('Combinação de Usuário + Senha digitada está incorreta!');"; echo "</script>"; } } else { echo "<script type='text/javascript'>"; echo "alert('O acesso a este usuário foi negado por o mesmo encontrar-se inativo em nosso sistema.');"; echo "</script>"; } } else { $form->populate($data); } } ## Log da transação ## // $log = new Acesso_Log; // $log->Log(); }
public function preDispatch() { $view = $this->getActionController()->view; $form = new Default_Form_Login(); $redirector = new Khcn_Controller_Action_Standard_Helper_Redirector(); $request = $this->getActionController()->getRequest(); if ($request->isPost() && $request->getPost('submit')) { if ($form->isValid($request->getPost())) { //1.Goi ket noi voi Zend Db $db = Zend_Registry::get('connectDB'); //2. Khoi tao Zend Auth $auth = Zend_Auth::getInstance(); //3. Khai bao bang va 2 cot se su dung so sanh trong qua trinh login $authAdapter = new Zend_Auth_Adapter_DbTable($db); $authAdapter->setTableName('nguoi_dung')->setIdentityColumn('ten_dang_nhap')->setCredentialColumn('mat_khau'); //4. Lay gia tri duoc gui qua tu FORM $uname = $form->getValue('Username'); $paswd = md5($form->getValue('Password')); $session = new Zend_Session_Namespace('users'); $session->username = $form->getValue('Username'); //5. Dua vao so sanh voi du lieu khai bao o muc 3 $authAdapter->setIdentity($uname); $authAdapter->setCredential($paswd); //6. Kiem tra trang thai cua user neu status = 1 moi duoc login //$select = $authAdapter->getDbSelect(); //$select->where('status = 1'); //7. Lay ket qua truy van $result = $auth->authenticate($authAdapter); if ($result->isValid()) { //8. Lay nhung du lieu can thiet trong bang users neu login thanh cong $data = $authAdapter->getResultRowObject(null, array('password')); //9. Luu nhung du lieu cua member vao session $auth->getStorage()->write($data); $urlOptions = array('controller' => 'index', 'action' => 'index'); $redirector->gotoRouteAndExit($urlOptions, null, true); } else { $urlOptions = array('controller' => 'index', 'action' => 'login-default'); $redirector->gotoRouteAndExit($urlOptions, null, true); } } } $view->loginForm = $form; }
public function loginAction() { $form = new Default_Form_Login(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/login.phtml')))); $this->view->form = $form; if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $dbAdapter = new Zend_Auth_Adapter_DbTable($this->db, 'users', 'email', 'password', 'MD5(?) AND deleted = "0"'); $dbAdapter->setIdentity($this->getRequest()->getPost('tbUser'))->setCredential($this->getRequest()->getPost('tbPass')); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($dbAdapter); if (!$result->isValid()) { switch ($result->getCode()) { case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND: case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID: $this->_flashMessenger->addMessage("<div class='error canhide'><p>Incorrect email or password!<a href='javascript:;'>Close</a><p>/div>"); break; default: /** do stuff for other failure **/ $this->_flashMessenger->addMessage("<div class='error canhide'><p>Incorrect email or password!<a href='javascript:;'>Close</a></p>/div>"); break; } } else { $adminUserId = $dbAdapter->getResultRowObject(); $adminUser = new Default_Model_Users(); $adminUser->find($adminUserId->id); if ($adminUser->getStatus() == 0) { $this->_flashMessenger->addMessage("<div class='error canhide'><p>Your account was not confirmed! Please check your email for the confirmation email!<a href='javascript:;'>Close</a></p></div>"); $auth->clearIdentity(); } else { $storage = $auth->getStorage(); $adminUser->saveLastlogin(); $storage->write($adminUser); } } $this->_redirect('/auth/login/'); } } }
public function indexAction() { // Already logged in $viewer = Khcn_Api::_()->getViewer(); if ($viewer && $viewer->getIdentity()) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Bạn đã đăng nhập.'); $this->_helper->redirector->gotoRoute(array(), 'default', true); return; } // Make form $this->view->form = $form = new Default_Form_Login(); $form->setAction($this->view->url(array('return_url' => null))); $form->populate(array('return_url' => $this->_getParam('return_url'))); // Not a post if (!$this->getRequest()->isPost()) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('No action taken'); return; } // Form not valid if (!$form->isValid($this->getRequest()->getPost())) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid data'); return; } // Check login creds extract($form->getValues()); // $Username, $Password, $Remember $userTable = Khcn_Api::_()->getItemTable('default_nguoi_dung'); $userSelect = $userTable->select()->where('ten_dang_nhap = ?', $Username); // If post exists $user = $userTable->fetchRow($userSelect); // Get ip address $db = Khcn_Db_Table::getDefaultAdapter(); // Check if user exists if (empty($user)) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.'); $form->addError(Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.')); return; } // Check if user is verified and enabled if (!$user->enabled) { if (!$user->verified) { $this->view->status = false; $translate = Zend_Registry::get('Zend_Translate'); $error = $translate->translate('Vui lòng kích hoạt tài khoản thông qua email.'); $form->getDecorator('errors')->setOption('escape', false); $form->addError($error); return; } else { if (!$user->approved) { $this->view->status = false; $translate = Zend_Registry::get('Zend_Translate'); $error = $translate->translate('Tài khoản của bạn cần được kích hoạt bởi admin.'); $form->getDecorator('errors')->setOption('escape', false); $form->addError($error); return; } } // Should be handled by hooks or payment //return; } // Version 3 Import compatibility if (empty($user->mat_khau)) { $form->addError('Mật khẩu không hợp lệ. Vui lòng reset lại mật khẩu.'); return; } else { $authResult = Khcn_Api::_()->authenticate($Username, $Password); $authCode = $authResult->getCode(); Khcn_Api::_()->setViewer(); if ($authCode != Zend_Auth_Result::SUCCESS) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.'); $form->addError(Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.')); return; } } // -- Success! -- // Remember if (!empty($Remember)) { $lifetime = 1209600; // Two weeks Zend_Session::getSaveHandler()->setLifetime($lifetime, true); Zend_Session::rememberMe($lifetime); } // Test activity @todo remove $viewer = Khcn_Api::_()->getViewer(); if ($viewer && $viewer->getIdentity()) { $viewer->lan_dang_nhap_cuoi = date("Y-m-d H:i:s"); $viewer->save(); } // Assign sid to view for json context $this->view->status = true; $this->view->message = Zend_Registry::get('Zend_Translate')->_('Đăng nhập thành công'); $this->view->sid = Zend_Session::getId(); $this->view->sname = Zend_Session::getOptions('name'); // Do redirection only if normal context // Redirect by form $uri = $form->getValue('return_url'); if ($uri) { if (substr($uri, 0, 3) == '64-') { $uri = base64_decode(substr($uri, 3)); } return $this->_redirect($uri, array('prependBase' => false)); } // Redirect by session $session = new Zend_Session_Namespace('Redirect'); if (isset($session->uri)) { $uri = $session->uri; $opts = $session->options; $session->unsetAll(); return $this->_redirect($uri, $opts); } else { if (isset($session->route)) { $session->unsetAll(); return $this->_helper->redirector->gotoRoute($session->params, $session->route, $session->reset); } } // Just redirect to home return $this->_helper->redirector->gotoRoute(array(), null, true); }