0

我正在为我的 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
});

比它有效,但我需要将此路由访问权限拆分为可以通过这两个角色访问的权限。

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

4

1 回答 1

0

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

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

'中间件' => ['角色:管理员|根']

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

'中间件' => ['角色:所有者','角色:作家']

文档

于 2018-03-02T10:41:49.680 回答