【发布时间】:2014-05-20 11:32:54
【问题描述】:
我正在使用 Laravel 4,我想使用一个过滤器,该过滤器反过来检查另一个过滤器。以下是一段代码。
Route::filter('auth', function()
{
if(Auth::check()) {
// write code here
}
});
Route::filter('logged_in_as_user',array('before'=>'auth', function()
{
// check if user is a normal user
}));
Route::filter('logged_in_as_admin', array('before'=>'auth', function()
{
// check if user is a admin user
}));
Route::get('user/dashboard',array('before'=>'logged_in_as_user', function() {
//make view
}));
Route::get('user/dashboard',array('before'=>'logged_in_as_admin', function() {
//make view
}));
Route::post('/login', function()
{
Auth::attempt( array('email' => Input::get('email'), 'password' => Input::get('password')) );
if(Auth::check()) {
return Redirect::to('user/dashboard');
} else {
return Redirect::to('user/login')->with('flash_error', 'User Name or password not match');
}
});
这更像是我想要拥有基于角色的身份验证。
我得到一个错误
call_user_func_array() 期望参数 1 是一个有效的回调, 第二个数组成员不是有效的方法
【问题讨论】: