How to pass multiple parameters to middleware with OR condition in Laravel 5.2

后端 未结 6 1544
误落风尘
误落风尘 2020-12-06 00:48

I am trying to set permission to access an action to two different user roles Admin, Normal_User as shown below.

Route::group([\'middleware\' => [\'role_c         


        
6条回答
  •  悲&欢浪女
    2020-12-06 01:15

    You can use the 3 dot (...) syntax in PHP 5.6+

    Your middleware's handle function

    public function handle($request, Closure $next, ...$roles)
    {
        foreach($roles as $role){
            if ($request->user()->hasRole($role)){
                return $next($request);
            }
        }
        abort(404);
    }
    

提交回复
热议问题