在 Laravel < 5.5
我可以更改此文件 app/Exceptions/Handler
以更改未经身份验证的用户重定向 url:
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest(route('login'));
}
但是在 Laravel 5.5
这已经被移动到这个位置 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
那么我现在如何改变它呢?我不想更改供应商目录中的内容,以免它被作曲家更新覆盖。
protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json(['message' => 'Unauthenticated.'], 401)
: redirect()->guest(route('login'));
}
原文由 Rob 发布,翻译遵循 CC BY-SA 4.0 许可协议
只是默认情况下该功能不再存在。
您可以像在 5.4 中那样覆盖它。只要确保包括
在处理程序文件中。
例如我的
app/Exceptions/Handler.php
看起来有点像这样: