Laravel 5.6修改未认证用户默认登录重定向URL
嗨,我来帮你搞定这个问题!在Laravel 5.6的默认Auth系统里,修改未认证用户的重定向URL其实挺简单的,主要通过修改异常处理器来实现,具体步骤如下:
修改全局未认证重定向逻辑
- 打开项目根目录下的
app/Exceptions/Handler.php文件 - 找到或添加
unauthenticated方法:
Laravel 5.6的Handler类默认继承自Illuminate\Foundation\Exceptions\Handler,如果你的文件里没有unauthenticated方法,直接从父类复制过来并修改重定向目标即可:use Illuminate\Auth\AuthenticationException; protected function unauthenticated($request, AuthenticationException $exception) { // 处理AJAX请求的情况 if ($request->expectsJson()) { return response()->json(['error' => 'Unauthenticated.'], 401); } // 修改这里的重定向路径为你需要的根路径 '/' return redirect()->guest('/'); } - 保存文件后,测试一下未认证用户访问需要登录的页面,就会自动跳转到
/而不是默认的/login了!
如果只是针对个别路由的重定向需求,你也可以自定义auth中间件,但全局修改异常处理器是最直接的方案,能覆盖所有未认证跳转场景。
内容的提问来源于stack exchange,提问作者User57
相关产品推荐
相关产品推荐

