在 Laravel 5.3 中注销后,是否没有优雅的解决方案可以重定向到特定页面?
被调用的函数来自特征 AuthenticatesUsers :
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
return redirect('/');
}
这是来自 laravel 核心的默认功能。所以我必须覆盖我无法编辑核心的整个功能。但是没有更简单的解决方案吗,因为手动注销、刷新和重新生成感觉有点矫枉过正。
在一篇文章中找到了答案: https ://codeneverlied.com/how-to-set-logout-redirect-path-in-laravel-5-8-and-before/
原文由 Tim van Uum 发布,翻译遵循 CC BY-SA 4.0 许可协议
我就是这样做的。在 Auth\LoginController 你有:
将其更改为:
然后,在 LoginController 中定义一个新的
logout()
方法:当然,常规
logout()
该特征中的方法只有 3 行(用于将用户从系统中注销),因此您可以将它们复制到您的方法中,但您应该始终遵循 DRY 原则(不要重复自己)并尽可能多地重用代码。