我已經在控制器中使用Route :: Intended('/')將幾個路由添加了標準auth過濾器(假設登錄成功)。Laravel自定義驗證過濾器
filters.php:
Route::filter('auth', function(){
if (Auth::guest()) return Redirect::guest('internal/login');
});
控制器:
if (Auth::attempt($data, false))
{
return Redirect::intended('/');
}
如何去創建一個自定義的身份驗證過濾器,用於檢查特定權限(在這種情況下isAdmin)?
我已經使auth.admin過濾器與標準auth過濾器相同,以重定向到登錄頁面,但是我需要我的控制器上的第二個登錄方法還是有辦法告訴哪個過濾器(如果有)調用了控制器方法?
if (Auth::attempt($data, false))
{
if (RouteHasAdminFilter())
{
if (!Auth::User()->Admin)
return Redirect::intended('/');
else
return Redirect::to('/');
}
else
{
return Redirect::intended('/');
}
}
向我們展示代碼! – Andreyco