Как работает RedirectIfAuthenticated.php? - PullRequest
0 голосов
/ 11 июня 2018

Я запустил php artisan make:auth в Laravel 5.6, как хорошо известно, он сгенерировал файл HomeController.php.

Внутри этого:

public function index(){ return view('home'); }

иRoute::get('/home', 'HomeController@index')->name('home'); определение маршрута в web.php.

Но http://homestead.test/home Перенаправление URI на http://homestead.test/login из-за RedirectIfAuthenticated.php промежуточного программного обеспечения.Так что RedirectIfAuthenticated.php работает как глобальное промежуточное ПО, а не как промежуточное ПО маршрутизации, хотя определено в свойстве $routeMiddleware в Kernel.php.

Почему это происходит?

Что я не знаю?

1 Ответ

0 голосов
/ 11 июня 2018

Если вы посмотрите на конструктор созданного контроллера, он использует промежуточное ПО auth.

$this->middleware('auth');

Если вы посмотрите на Kernel.php на $routeMiddleware:

'auth' => \Illuminate\Auth\Middleware\Authenticate::class,

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

...