Сохранение маршрута для соответствующих входов в систему защиты после выхода через адресную строку - PullRequest
0 голосов
/ 13 мая 2019

У меня есть несколько охранников. Все работают нормально.

Однако, если роль выходит из приложения (не прошедшая проверку подлинности) из приложения, и я хочу получить доступ к любой странице, например, /admin/*, за исключением admin/login через адресную строку, она не перенаправляет и не сохраняет маршрут /admin/login. вместо этого он перенаправляется на /login. Это относится и к другим ролям. Как мне сделать, чтобы сохранить его?

1 Ответ

2 голосов
/ 13 мая 2019

Если вы используете встроенное промежуточное программное обеспечение \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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...