0

我在 Laravel 中使用Spatie进行 ACL 管理,它运行良好,但我想问一个问题。如果我必须将用户列表权限分配给像 Manager 这样的任何角色,即使它有权限,也会产生错误。构造函数中的“ only ”属性和“ permission:role-list ”没有分配任何功能的目的是什么,是否有任何默认行为?

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 中具有角色列表权限。

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

4

2 回答 2

0

要将中间件限制为仅使用控制器类上的某些方法

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

现在,上面的行仅将列出的中间件应用于createstore方法。

于 2019-02-28T08:04:50.093 回答
0

我正在回答我自己的问题,在构造函数中,如果我有第一个方法而没有任何权限分配给下面的方法。

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

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

于 2019-02-28T08:13:12.770 回答