user(); // Se non è autenticato, nega accesso if (!$user) { abort(403, 'Accesso negato: autenticazione richiesta'); } // Super-admin può accedere a tutto if ($user->hasRole('super-admin')) { return $next($request); } // Amministratore può accedere solo alle sue cartelle if ($user->hasRole('amministratore') && $user->amministratore) { $adminCode = $request->route('adminCode'); // Se non c'è codice admin nella route o non corrisponde, nega if (!$adminCode || $adminCode !== $user->amministratore->codice_univoco) { abort(403, 'Accesso negato: non autorizzato per questa cartella'); } return $next($request); } // Altri ruoli: nega accesso abort(403, 'Accesso negato: ruolo non autorizzato'); } }