我正在 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中的角色列表权限。
如果我想错了,请指导我。
答案 0 :(得分:0)
为了将中间件限制为仅控制器类上的某些方法,我们仅使用 。
$this->middleware('permission:role-create', ['only' => ['create','store']]);
现在,以上几行仅将列出的中间件应用于 create 和 store 方法。
答案 1 :(得分:0)
我在构造函数中告诉我自己的问题的答案,如果我有未经许可分配给以下方法的第一个方法。
$this->middleware('permission:role-list');
因此,如果任何角色都没有此权限,则会生成一个错误,表明该角色对此没有权限,并且不检查下一个权限。