В пути у меня есть группа маршрута, которые находятся под защитой с фильтром backend_loginLaravel перенаправлять дилеммой после авторизации
Route::group(array('prefix' => 'backend', 'before' => 'backend_auth'), function() {
Route::get('/','[email protected]');
Route::get('/main', '[email protected]');
Route::get('/logout', 'UserMainController');
});
Route::any('backend/login', array('as' => 'backend_login', 'uses' =>'[email protected]'));
в filter.php я есть фильтр
Route::filter('backend_auth', function(){
if (! Sentry::check()) return Redirect::route('backend_login');
});
Проблема заключается в том, когда пользователь уже зарегистрированный, он все равно может вернуться на страницу входа. Я попытался предотвратить это, добавив фильтр «backend_auth»
Route::filter('backend_auth', function(){
if (! Sentry::check()) return Redirect::route('backend_login');
else {
return Redirect::to('backend/main');
}
});
Но тогда я получил цикл переадресации. На самом деле, перенаправление на backend/main после входа в систему - это то, что я хочу, но я не могу заставить его работать правильно. Любая идея, как решить эту проблему?
Проверьте, что фильтр вызывается. Если вы не проверяете среду, которую используете, поскольку фильтры в рамках тестирования env отключены по умолчанию. –
извините, но я действительно не понимаю, что вы хотите сказать. – user3140598
Проверить с помощью dd ('Тестирование'); в пределах вашего фильтра он вызывается. Если он не вызывается, то среда, которую использует laravel (например, локальная, производственная или тестовая и т. Д.), Может быть настроена на тестирование. –