我正在将Bican Roles包与Laravel 5一起使用,我正试图弄清楚如何修改AuthController类,以便根据用户的角色将用户重定向到他们指定的页面。我在某个地方读到一篇文章,说我需要创建方法authenticate来覆盖默认函数,但我不确定如何包括bican类的所有方法。例如,在bicon的github页面上,它说要使用
$user->level获取用户级别,但我得到一个错误,
protected function authenticated($user)
{
dd($user->level);
}
如果我理解问题:
-
您可以创建中间件来检查用户在特定路由上的角色。
-
在方法
authenticated()
中,未定义变量$users
。bican/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
我在某个地方读到一篇文章,我需要创建方法authenticate来覆盖默认函数
直到默认函数在app
目录中,它才会通过。但是Laravel控制器非常灵活,您可以用其他方式来完成它(先看)。