Что этот код означает в RedirectIfAuthenticated.php? - PullRequest
0 голосов
/ 19 октября 2018

Я видел, как кто-то добавил этот конкретный код в RedirectIfAuthenticated.php, и я не понимаю, как это на самом деле работает?

public function handle($request, Closure $next, $guard = null)
 {
     if (Auth::guard($guard)->check()) {
        return redirect('/home');
     }
     else {
        return redirect()->action('AdminController@login')->with('flash_message_error','Please login to access ');
     }

   return $next($request);
 }

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

В псевдокоде:

if authenticated:
    redirect to /home
else (not authenticated):
    redirect to the url that corresponds to AdminController@login, flashing an error message to the session

Другая часть не существует в промежуточном программном обеспечении Laravel, похоже, вы добавили это.Этого не должно быть, потому что это приведет к тому, что это промежуточное ПО всегда будет перенаправлять кого-либо куда-либо.

Это промежуточное ПО должно использоваться только для гостевых маршрутов.Поэтому, если вы аутентифицированы, он перенаправляет на «дом», в противном случае он запускает следующее промежуточное ПО.

0 голосов
/ 19 октября 2018

RedirectIfAuthenticated.php - это промежуточное ПО, которое работает до тех пор, пока вы не увидите результат запроса.Он только проверяет, вошли ли вы в систему или нет, и перенаправляет на соответствующие маршруты.

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