Laravel 5 - 根据用户在身份验证上的角色将用户重定向到特定页面

时间:2015-12-21 23:34:01

标签: php laravel

我在Laravel 5中使用Bican Roles包,我试图弄清楚如何修改AuthController类以根据用户角色将用户重定向到指定页面。我读了一篇文章,我需要创建方法authenticate来覆盖默认函数,但我不确定如何包含bican类的所有方法。例如,在bicon的github页面上,它说要使用

$ user->级别以获取用户级别,但我收到错误,

protected function authenticated($user)
    {
        dd($user->level);
    }

1 个答案:

答案 0 :(得分:0)

如果我理解这个问题:

  1. 您可以创建the middleware来检查用户在特定路线上的角色。

  2. 在方法authenticated()上,未定义变量$usersbican/roles包的文档使用Auth::user()的简写来获取当前用户的数据。所以你应该使用:

    Auth::user()->is('YOUR_ROLE_NAME');          # To check user role
    Auth::user()->can('YOUR.ACTION');            # To check user permission
    Auth::user()->level();                       # To check user level  
    Auth::user()->allowed('ACTION', $someModel); # To check user permission to object
    
  3.   

    我在某个地方读到了一篇文章,我需要创建方法authenticate来覆盖默认函数

    直到该默认函数在app目录中,它才会通过。但Laravel控制器非常灵活,您可以通过其他方式实现(看第一点)。