Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于Laravel路线的自定义过滤器_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 用于Laravel路线的自定义过滤器

Php 用于Laravel路线的自定义过滤器,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在尝试为我的Laravel应用程序制作一些自定义过滤器 在filter.php中,我有 Route::filter('admin', function() { if (Auth::guest() AND ! Auth::user()->isAdmin()) { return 'Not Authorized'; } }); User.php模型 public function isAdmin() { if($this->role==1) ret

我正在尝试为我的Laravel应用程序制作一些自定义过滤器

在filter.php中,我有

Route::filter('admin', function()
{
    if (Auth::guest() AND ! Auth::user()->isAdmin()) {
        return 'Not Authorized';
    }
});
User.php模型

public function isAdmin()
{
  if($this->role==1) return true;
  else return false;
}
最后在路线上:

//SECTIONS ONLY FOR ADMIN
Route::group(array('prefix' => 'admins', 'before' => array('admin')), function(){

    Route::get('/frontoffice', 'FrontofficeController@index');
    Route::get('/frontoffice/about', 'FrontofficeController@about');
    Route::get('/frontoffice/research', 'FrontofficeController@research');
});
我在应用程序中以管理员身份登录,但当我尝试访问路由中的上述URL时,仍然会收到NotFoundHttpException


知道为什么吗?

尝试在过滤器中使用或:if Auth::guest | |!Auth::user->isadmin只是一个注释-您的管理员筛选器将无法按预期工作。|应使用,而不是和,否则它将对常规身份验证用户失败。isAdmin方法也可以改进以使其更具可读性-return$this->role==1应该足够了。