user(); if (! $user) { return $next($request); } if ($user->isDisattivato()) { Auth::guard('web')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('login')->withErrors(['email' => 'Questa utenza è stata disattivata.']); } if (! $user->isSorvegliante() || $user->roles->count() > 1) { return $next($request); } if ($request->routeIs(self::ROTTE_AMMESSE)) { return $next($request); } if ($request->routeIs('dashboard')) { return redirect()->route('mio-gruppo'); } abort(403, 'Il sorvegliante di gruppo può usare solo la pagina del proprio gruppo.'); } }