覆盖登录错误消息

时间:2016-06-25 12:08:55

标签: login laravel-5 controller

我有一个AuthController,我已经扩展了getCredentials方法,因此用户需要既可以登录也可以是活动的。这是方法:

protected function getCredentials(Request $request) {
  $credentials = $request->only($this->loginUsername(), 'password');
  return array_add($credentials, 'status', '1');
}

我还希望失败的登录消息不同,具体取决于用户是否处于活动状态,因此用户知道他的用户名/密码是否失败,或者仅仅是因为他还没有激活他的帐户。

我可以覆盖AuthenticatesUser特征的登录方法,但复制所有逻辑只是为了改变它似乎有点过分。

我可以扩展sendFailedLoginResponse方法,根据之前的Auth :: guard-> attempt()调用进行某种验证吗?我的意思是,这种方法是否留下了任何信息,这使得我可以在调用之后知道是什么让尝试返回假?

或者我如何处理这个问题,而不必完全覆盖一个方法来进行简单的验证?

谢谢。

1 个答案:

答案 0 :(得分:0)

public function authenticated(Request $request, User $user ) {

   // The user was authenticated check if it the active column is true or not
   if($user->active == false){
      //Store some flash message here saying he's not account is not active
      //Log him out after.
      Auth::logout();
   }
  return redirect()->intended( $this->redirectPath() );
}