Laravel 5.5 Entrust 使用中间件授予路由组权限失败
Laravel 5.5 Entrust using middleware to grant permissions on route groups fails
我正在为我的 laravel 5.5 项目使用 entrust 来提供 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 个角色访问。
在这种情况下我做错了什么?
您没有将角色检查分成单独的数组条目。
It is possible to use pipe symbol as OR operator:
'middleware' => ['role:admin|root']
To emulate AND functionality just use multiple instances of middleware
'middleware' => ['role:owner', 'role:writer']
我正在为我的 laravel 5.5 项目使用 entrust 来提供 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 个角色访问。
在这种情况下我做错了什么?
您没有将角色检查分成单独的数组条目。
It is possible to use pipe symbol as OR operator:
'middleware' => ['role:admin|root']
To emulate AND functionality just use multiple instances of middleware
'middleware' => ['role:owner', 'role:writer']