在Laravel文件src \ illuminate \ Foundation \ Auth \ AuthenticatesUsers.php中,有一个方法如下 -
protected function authenticated(Request $request, $user)
{
//
}
此方法似乎是将登录用户重定向到欢迎登录用户页面,但该方法为空白。当我在这个方法中插入'return'hello user';'然后页面显示“你好用户”。我想更改此方法以重定向到自定义网址,并想知道我将在哪里进行更改并研究与此方法相关的其余代码。我很难找到我正在寻找的正确代码。
编辑:上述方法在此方法中用于三元代码中的同一文件中。我想弄清楚它们是如何协同工作的 -
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
答案 0 :(得分:1)
这是因为处理该方法的类是继承trait .. 如果您想在成功登录时获得自定义功能..您可以做的就是不使用laravel登录功能..您可以使用Auth门面进行自己的登录..
例如在您的LoginController中
function myOwnLogin(Request $request)
{
$credentials= $request->only('username', 'password');
if(Auth::attempt($appGrantCreds))
{
// in this block the user is already authenticated using username and password ..
// so you can do your functionality here and whatsoever
}
else
{
// do your functionality for unsuccessful login
}
}
也不要忘记设置$redirectTo = '/yourDesiredRoute';