如何为任何 Laravel 路由分配多个角色?

2 laravel laravel-routing laravel-5 laravel-5.1

我创建了一个中间件来检查用户角色(“superadmin”、“admin”和“user”)。

如果我使用单一角色,那么对于“管理员”来说,它工作得很好。

Route::get('users',['middleware' => 'role:superadmin', function () {
    return view('users_list');
}]);
Run Code Online (Sandbox Code Playgroud)

但问题是这里要授予多个角色的访问权限。我尝试过这个但没有用。

Route::get('users',['middleware' => 'role:superadmin,admin', function () {
    return view('users_list');
}]);
Run Code Online (Sandbox Code Playgroud)

虽然在这里我得到的角色是“超级管理员”而不是管理员。但我认为这是错误的。

请建议我为任何路线赋予多重角色。

我还浏览了https://github.com/Zizaco/entrust但发现了许多未解决的问题https://github.com/Zizaco/entrust/issues。如果您有比从“Zizaco”开始更好的主意,请建议我。

Joo*_*ost 5

您需要用 分隔角色|

像这样:

'middleware' => ['role:admin|root']
Run Code Online (Sandbox Code Playgroud)

委托文件