在路线中我有一组路线,受到过滤器backend_login
的保护Route::group(array('prefix' => 'backend', 'before' => 'backend_auth'), function() {
Route::get('/','AdminMainController@index');
Route::get('/main', 'AdminMainController@index');
Route::get('/logout', 'UserMainController');
});
Route::any('backend/login', array('as' => 'backend_login', 'uses' =>'AdminUserController@login'));
在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');
}
});
但后来我得到了一个重定向循环。实际上,登录后重定向到后端/主要是我想要的,但我不能让它正常工作。 知道如何解决这个问题吗?
答案 0 :(得分:0)
我找到了答案。 在filter.php中,我只需要检查用户是否已登录,以显示登录页面。然后在AdminUserController中的登录功能的开始,我将决定是否要将他重定向到后端/主要。因此,无限重定向循环的问题将得到解决。
if (Sentry::check()) return Redirect::route('backend_main');