Laravel 5.5 Entrust使用中间件授予路由组权限失败

时间:2018-03-01 22:01:32

标签: exception acl laravel-5.5 entrust

我使用委托我的laravel 5.5项目来提供ACL系统。当我尝试在我的路由中使用中间件来过滤访问时,它属于以下情况

Route::group(['middleware' => ['role:admin', 'role:hr']],
            function () {

//other routes which should be checked by permission
});

如果管理员访问此方法内部的路由,我会收到异常

 Symfony \ Component \ HttpKernel \ Exception \ HttpException
No message

如果我删除第二个角色访问

Route::group(['middleware' => ['role:admin']],
            function () {

//other routes which should be checked by permission
});

比它的工作方式,但是我需要在权限上拆分此路由访问权限,这可以通过这2个角色进行访问。

在这种情况下我做错了什么?

1 个答案:

答案 0 :(得分:0)

您不会将角色检查拆分为单独的数组条目。

  

可以使用管道符号作为OR运算符:

     

'middleware'=> [ '角色:管理员|根']

     

要模拟AND功能,只需使用多个中间件实例

     

'middleware'=> ['角色:所有者','角色:作家']

Docs