簡體   English   中英

登錄后Laravel重定向困境

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM