通过地址栏注销后保留相应的防护登录的路由

时间:2019-05-13 08:24:46

标签: php laravel laravel-5.8

我有多个后卫。一切都很好。

但是,如果角色从应用程序注销(未经身份验证),并且我想通过地址栏访问/admin/*页面之外的任何admin/login页面,它不会重定向并保留{{1} }路线。而是重定向到/admin/login。它也适用于其他角色。我该如何保留它?

1 个答案:

答案 0 :(得分:2)

如果您使用默认的内置\Illuminate\Auth\Middleware\Authenticate中间件来处理身份验证,则将抛出AuthenticationException以及已检查的防护措施。您可以通过在异常处理程序中覆盖unauthenticated来不同地处理异常:

App / Exceptions / Handler.php

class Handler extends ExceptionHandler {
    //...Other code
    protected function unauthenticated($request, AuthenticationException $exception) {
         if (in_array('admin', $exception->guards()) && !$request->expectsJson()) {
             return Redirect::guest('/admin/login');
         } 
         return parent::unauthenticated($request, $exception);
    }

由OP纠正