Laravel中间件分配多个角色不起作用

时间:2018-12-07 17:36:05

标签: laravel middleware roles

大家好,我的工作遇到了麻烦。我尝试了很多时间在路由中放置两个角色,以确保可以授予这些角色对特定页面的访问权限,但是我的另一个角色(员工)仍然可以访问它。你们有什么意见吗?帮助!

Route::get('/dashboard', [
  'as' => 'admin',
  'uses' => 'DashboardController@index',
  'middleware' => ['roles:Staff,Owner','auth']

1 个答案:

答案 0 :(得分:0)

您需要将更多参数添加到中间件的handle()函数中。

在您的角色中间件中-

public function handle($request, Closure $next, $role1, $role2)
{
  $role1 //Staff
  $role2 //Owner
}

如果您使用的是PHP 7-

public function handle($request, Closure $next, ...$role)
{
  $role //[Staff, Owner]
}