2014-11-02 144 views
0

我在這裏得到了一個愚蠢的問題。我在我的應用程序中有無盡的重定向。我明白爲什麼,但不知道如何解決這個問題。Laravel自定義管理過濾器重定向循環

在我的routes.php文件我有以下代碼:

Route::filter('admin', function(){ 
    if(Auth::user()->admin){ 
     return Redirect::to(Route::current()->getPath()); 
    }else{ 
     return Redirect::to('/'); 
    } 
}); 
Route::when('admin/*', 'admin'); 

當我調用的URL /admin/createNews瀏覽器加載了一會兒,告訴我有一個重定向。對我來說這是合乎邏輯的,但我不知道該怎麼做。

回答

1

如果您的過濾器通過,執行流程將繼續到最初請求的路由,而不需要return Redirect。所以解決辦法就是逆轉你的邏輯:

Route::filter('admin', function() 
{ 
    if(!(Auth::user()->admin)) 
    { 
     return Redirect::to('/'); 
    } 
}); 
+0

Awww ... dammit。這工作......我認爲過濾器將需要在那裏的任何行動。 謝謝兄弟! – jiGL 2014-11-02 16:51:30