如何为任何laravel路线分配多个角色?

时间:2015-12-22 12:19:53

标签: laravel laravel-5 laravel-5.1 laravel-routing

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

如果我使用单一角色角色,那么对于'admin'来说它的工作正常。

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

但问题是在这里提供多个角色的访问权限。我试过这个但没有用。

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

虽然在这里我得到角色'superadmin'而不是管理员。但我认为这是错误的。

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

我也经历了https://github.com/Zizaco/entrust,但发现了许多未解决的问题https://github.com/Zizaco/entrust/issues。如果你有更好的想法,请建议我,先从'Zizaco'开始。

1 个答案:

答案 0 :(得分:3)

您需要使用|分隔角色。

像这样:

'middleware' => ['role:admin|root']
  

Entrust documentation