Когда я защищаю маршруты в Laravel 5, он работает хорошо, когда я не зарегистрирован, потому что он перенаправляет защищенные маршруты на страницу входа, но как только я вхожу в систему и пытаюсь получить доступ к защищенным маршрутам, он перенаправляет меня на корневой маршрут. Например, если я попытаюсь обратиться к людям / людям или / people / 1, он перенаправит меня на /
Вот мой файл route.php:
Route::get('/', function () { return view('welcome'); }); Route::group(['middleware' => ['auth']], function () { Route::resource('people', 'PeopleController'); Route::resource('people.checkins', 'CheckinsController'); Route::model('checkins', 'Checkin'); Route::model('people', 'Person'); Route::bind('checkins', function($value, $route) { return App\Checkin::whereId($value)->first(); }); Route::bind('people', function($value, $route) { return App\Person::whereId($value)->first(); }); }); Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/home', 'HomeController@index'); });
Если вы собираетесь использовать Auth, вы должны иметь «веб-группу», применяемую к этим маршрутам.
Вы можете настроить группу маршрутов, использующую промежуточное программное обеспечение «auth», чтобы:
Route::group(['middleware' => ['web', 'auth']], function () { // ... });
ОБНОВЛЕНИЕ Для Laravel 5.2.27. Если вы установили новую копию laravel / laravel> = 5.2.27, ваши маршруты будут завернуты в группу, которая по умолчанию использует промежуточное ПО «web». Это только для свежих установок, так как это изменение относится к App \ Providers \ RouteServiceProvider, обновление до laravel / framework не будет касаться.