init(); } /** * Handle an incoming request. * * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next */ public function handle(Request $request, Closure $next, string $rolesStr): Response { $allowRoles = []; foreach (explode("-", $rolesStr) as $roleSrt) { $role = UserRole::from($roleSrt); $allowRoles[] = $role; } $currentRole = $this->sessionUser->user()->role; if (in_array($currentRole, $allowRoles, true) === false) { $path = $request->path(); abort(403); } return $next($request); } }