示例#1
0
文件: User.php 项目: hoangpt/nextcms
 /**
  * Authenticate with given username and password
  *
  * @param string $username
  * @param string $password
  * @return \Zend\Authentication\Result
  */
 public function authenticate($username, $password)
 {
     $user = $this->userMapper->findOne(['user_name' => $username]);
     if (null == $user) {
         return new Result(Result::FAILURE_IDENTITY_NOT_FOUND, null);
     }
     if ($this->verifyPassword($password, $user->password) == false) {
         $this->getEventManager()->trigger('authenticate.invalidPassword', $this, ['user' => $user]);
         return new Result(Result::FAILURE_CREDENTIAL_INVALID, null);
     }
     if ($user->status != 'activated') {
         $this->getEventManager()->trigger('authenticate.deactivatedUser', $this, ['user' => $user]);
         return new Result(Result::FAILURE_IDENTITY_AMBIGUOUS, null);
     }
     $this->getEventManager()->trigger('authenticate.success', $this, ['user' => $user]);
     return new Result(Result::SUCCESS, $user);
 }