我使用的是spatie/laravel-permission,当未授权的用户查看私有页面时,laravel显示了403个错误,但我希望laravel将他们重定向到login page,登录后自动重定向到私有页面。
例如,没有授权的用户想要转到/admin,.i想要在成功登录后将他重定向到/login页面,然后将他重定向到/admin。
Laravel版本:5.7
发布于 2021-06-19 14:52:21
根据spatie/laravel-permission文档,您可以看到它抛出了一些可以在代码中处理的特定异常。在这里你可以找到所有的例外。链接
因此,根据您的问题,您需要处理UnauthorizedException
在app/Exceptions/Handler中添加以下代码:
public function register()
{
$this->renderable(function (\Spatie\Permission\Exceptions\UnauthorizedException $e, $request) {
return response()->json([
'responseMessage' => 'You do not have the required authorization.',
'responseStatus' => 403,
]);
});
}这将返回一个JSON响应,如果要将用户返回到登录页面,可以将其更改为:
return redirect()->route('login');https://stackoverflow.com/questions/68043986
复制相似问题