Php 用于Laravel路线的自定义过滤器
我正在尝试为我的Laravel应用程序制作一些自定义过滤器 在filter.php中,我有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
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应该足够了。