2016-01-01 3 views
2

Когда я защищаю маршруты в Laravel 5, он работает хорошо, когда я не зарегистрирован, потому что он перенаправляет защищенные маршруты на страницу входа, но как только я вхожу в систему и пытаюсь получить доступ к защищенному маршруты перенаправляют меня на корневой маршрут. Например, если я пытаюсь доступа/людей или/людей/1 будет перенаправлять меня/Проверка подлинности промежуточного программного обеспечения Laravel 5 всегда переадресовывается к корню или логину

Вот мой routes.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', '[email protected]'); 
}); 
+0

Это на Laravel 5.2? – lagbox

+0

Да, Laravel 5.2.5 @lagbox –

ответ

2

Если вы собираетесь использовать Auth вы должны иметь группа «веб» также применяла эти маршруты.

Вы можете настроить маршрут группу, использующую 'аутентификации' связующее ПО:

Route::group(['middleware' => ['web', 'auth']], function() { 
    // ... 
}); 

UPDATE Для Laravel 5.2.27. Если вы установили новую копию laravel/laravel> = 5.2.27, ваши маршруты будут завернуты в группу, которая по умолчанию использует промежуточное ПО «web». Это только для свежих установок, так как это изменение относится к App \ Providers \ RouteServiceProvider, обновление до laravel/framework не будет касаться.

+0

Действительно удивительный ан. –