我如何在laravel中为spatie软件包(ACL管理)将用户列表权限分配给其他角色?

时间:2019-02-28 07:01:20

标签: php laravel spatie

我正在 Laravel 中使用 Spatie 包进行ACL管理,它的运行效果很好,但是我想问一个问题。是否必须将用户列表权限分配给任何像Manager这样的角色,即使它具有权限,也会生成错误。 构造函数中以下“ ”属性的用途是什么,“ permission:角色列表”未分配任何功能,是否有任何默认行为?

function __construct()
{
    $this->middleware('permission:role-list');
    $this->middleware('permission:role-create', ['only' => ['create','store']]);
    $this->middleware('permission:role-edit', ['only' => ['edit','update']]);
    $this->middleware('permission:role-delete', ['only' => ['destroy']]);
}

我应该假设我是否必须访问角色控制器的任何功能,而不是必须拥有Spatie中的角色列表权限。

如果我想错了,请指导我。

2 个答案:

答案 0 :(得分:0)

为了将中间件限制为仅控制器类上的某些方法,我们仅使用

$this->middleware('permission:role-create', ['only' => ['create','store']]);

现在,以上几行仅将列出的中间件应用于 create store 方法。

答案 1 :(得分:0)

我在构造函数中告诉我自己的问题的答案,如果我有未经许可分配给以下方法的第一个方法。

 $this->middleware('permission:role-list');

因此,如果任何角色都没有此权限,则会生成一个错误,表明该角色对此没有权限,并且不检查下一个权限。