/** * 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; }
/** * 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; }