Esempio n. 1
0
 /**
  * Logs a user in.
  *
  * @param string $username_or_email
  * @param string $password
  * @param bool   $remember
  *
  * @return bool
  *
  * @throws \Warden\Warden_Failure If lockable enabled & attempts exceeded
  */
 public function authenticate_user($username_or_email, $password, $remember)
 {
     if (($user = \Model_User::authenticate($username_or_email)) && Warden::has_password($user, $password)) {
         if ($remember === true) {
             // Set token data
             $user->remember_token = Warden::forge()->generate_token();
             // Set the remember-me cookie
             \Cookie::set('remember_token', $user->remember_token, $this->config['lifetime'], null, null, null, true);
         }
         return $this->complete_login($user);
     }
     if (!is_null($user) && $this->config['lockable']['in_use'] === true) {
         $user->update_attempts(1);
     }
     // Login failed
     return false;
 }
Esempio n. 2
0
 /**
  * Logs a user in.
  *
  * @param string $username_or_email
  * @param string $password
  * @param bool   $remember
  *
  * @return bool
  *
  * @throws \Warden\Failure If lockable enabled & attempts exceeded
  */
 public function authenticate_user($username_or_email, $password, $remember)
 {
     if (($user = \Model_User::authenticate($username_or_email, false, false)) && Warden::has_password($user, $password)) {
         if ($user->is_confirmation_required()) {
             throw new Failure('unconfirmed', array(), $user);
         } elseif ($user->is_access_locked()) {
             throw new Failure('locked');
         }
         if ($remember === true && $this->config['rememberable']['in_use'] === true) {
             // Set token data
             $user->remember_token = Warden::forge()->generate_token();
             // Set the remember-me cookie
             \Cookie::set($this->config['rememberable']['key'], $user->remember_token, $this->config['rememberable']['ttl'], null, null, null, true);
         }
         return $this->complete_login($user);
     }
     if (!is_null($user) && $this->config['lockable']['in_use'] === true) {
         $user->update_attempts(1);
     }
     // Login failed
     return false;
 }