【问题标题】:Custom Laravel Route Filter Not Working自定义 Laravel 路由过滤器不起作用
【发布时间】:2015-03-01 21:33:55
【问题描述】:

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

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

我创建了一个过滤器:

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

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

我正在使用这样的角色:

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

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

【问题讨论】:

  • 啊当然!非常感谢。

标签: php laravel filter routes


【解决方案1】:

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

Auth::user()->rights 是来自数据库的字符串。

改为使用!=

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 2017-08-16
    • 2023-04-03
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多