自定义Laravel路由过滤器不工作

时间:2015-01-04 00:15:20

标签: php laravel filter routes

尝试使用自定义过滤器来确定用户权限。

在我的数据库用户表中,我有一个名为权限的字段。所有管理员的权限值均为5.

我创建了一个过滤器:

Route::filter('admin', function()
{ 
if (Auth::check()) {
  if (Auth::user()->rights !== 5)
  {
    return Redirect::to('/'); 
  }
}
else
{
    return Redirect::to('login');
}
}); 

哪个应该检查用户是否已登录,然后检查他们的权限。如果权限不是5,则会将其发送回根目录,或者如果他们未登录,则会要求他们登录。

我正在使用这样的角色:

Route::get('admin', array('before' => 'admin', function()
{
  return View::make('admin/index', array('pageTitle' => 'Admin'));
}));

目前这总是会将用户发送到登录/ root,即使他们的权限设置为5.任何帮助?

1 个答案:

答案 0 :(得分:1)

!==表示相同(类型和值)

Auth::user()->rights是db的字符串。

而是使用!=