[英]Laravel redirect dilemma after login
在路由中,我有一組路由,受過濾器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');
}
});
但后來我得到了重定向循環。 實際上,登錄后重定向到后端/主要是我想要的,但是我無法使其正常工作。 任何想法如何解決這個問題?
我找到了答案。 在filter.php中,我只需要檢查用戶是否已登錄即可顯示他的登錄頁面。 然后在AdminUserController中的登錄功能開始時,我將決定是否要將他重定向到后端/主要。 因此,無限重定向循環的問題將得到解決。
if (Sentry::check()) return Redirect::route('backend_main');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.