我有多个后卫。一切都很好。
但是,如果角色从应用程序注销(未经身份验证),并且我想通过地址栏访问/admin/*
页面之外的任何admin/login
页面,它不会重定向并保留{{1} }路线。而是重定向到/admin/login
。它也适用于其他角色。我该如何保留它?
答案 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纠正