Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过地址栏注销后保留相应警卫登录的路线_Php_Laravel_Laravel 5.8 - Fatal编程技术网

Php 通过地址栏注销后保留相应警卫登录的路线

Php 通过地址栏注销后保留相应警卫登录的路线,php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我有多个警卫。一切正常 但是,如果某个角色未经验证就从应用程序注销,并且我希望通过地址栏访问除admin/login页面以外的任何页面,则它不会重定向并保留/admin/login路径。它改为重定向到/登录。它也适用于其他角色。如何保留它?如果使用默认的内置\illumb\Auth\Middleware\Authenticate中间件来处理身份验证,那么将抛出AuthenticationException以及已检查的防护。通过覆盖异常处理程序中未经验证的异常,可以以不同方式处理异常: App/E

我有多个警卫。一切正常


但是,如果某个角色未经验证就从应用程序注销,并且我希望通过地址栏访问除admin/login页面以外的任何页面,则它不会重定向并保留/admin/login路径。它改为重定向到/登录。它也适用于其他角色。如何保留它?

如果使用默认的内置\illumb\Auth\Middleware\Authenticate中间件来处理身份验证,那么将抛出AuthenticationException以及已检查的防护。通过覆盖异常处理程序中未经验证的异常,可以以不同方式处理异常:

App/Exceptions/Handler.php

类处理程序扩展了ExceptionHandler{ //…其他代码 受保护函数未经身份验证的$request,AuthenticationException$exception{ 如果在数组“admin”中,$exception->guards&&!$request->expectsJson{ 返回重定向::guest'/admin/login'; } 返回父项::未经验证的$request,$exception; }
经OP更正

您不应该为此使用多个防护。您应该使用单个防护,并授权管理员用户使用gates。业务要求迫使我这样做