コード例 #1
0
ファイル: AuthController.php プロジェクト: romikring/rcalex
 public function signInAction()
 {
     $request = $this->getRequest();
     $signInForm = new Rabotal_Form_SignIn();
     if ($request->isPost() && $signInForm->isValid($request->getPost())) {
         $values = $signInForm->getValues();
         $options = $this->getInvokeArg('bootstrap')->getOption('secure');
         $authAdapter = new Zend_Auth_Adapter_DbTable($this->getInvokeArg('bootstrap')->getResource('DB'), 'users', strpos($values['login'], '@') !== FALSE ? 'email' : 'username', 'password', 'sha1(?)');
         $auth = Rabotal_Auth::getInstance();
         $authAdapter->setIdentity($values['login'])->setCredential($options['salt'] . $values['password']);
         if ($auth->authenticate($authAdapter)->isValid()) {
             $userData = $authAdapter->getResultRowObject(array('id', 'username', 'email'));
             $auth->getStorage()->write($userData);
             if ($values['rememberme']) {
                 Rabotal_Auth::remember($userData);
             }
             $this->_redirect('/');
         }
         $signInForm->addErrorMessage('Имя пользователя или пароль введены не верно. Пожалуйста, повторите попытку.');
     }
     $this->view->signInForm = $signInForm;
 }