fix(auth): provision michele@nethome.it as SuperAdmin, restrict SuperAdmin navigation strictly to super-admin role, add registration link to login page, and align Adminer password fallback (task-d095b0e23b)

This commit is contained in:
michele 2026-08-28 12:32:59 +02:00
parent e5961915ee
commit 983bc21ea7
4 changed files with 16 additions and 9 deletions

View File

@ -57,7 +57,7 @@ public static function canAccess(): bool
$user = Auth::user(); $user = Auth::user();
return $user instanceof User return $user instanceof User
&& $user->hasAnyRole(['super-admin', 'admin']) && $user->hasRole('super-admin')
&& Schema::hasTable('amministratori'); && Schema::hasTable('amministratori');
} }

View File

@ -47,10 +47,7 @@ public static function canAccess(): bool
{ {
$user = Auth::user(); $user = Auth::user();
return $user instanceof User return $user instanceof User
&& ( && $user->hasRole('super-admin');
$user->hasAnyRole(['super-admin', 'admin', 'amministratore'])
|| $user->can('manage-users')
);
} }
public function mount(): void public function mount(): void

View File

@ -47,6 +47,16 @@ public function panel(Panel $panel): Panel
]) ])
->viteTheme('resources/css/filament/admin/theme.css') ->viteTheme('resources/css/filament/admin/theme.css')
->renderHook(PanelsRenderHook::HEAD_END, fn() => view('filament.components.legacy-admin-assets')) ->renderHook(PanelsRenderHook::HEAD_END, fn() => view('filament.components.legacy-admin-assets'))
->renderHook(PanelsRenderHook::AUTH_LOGIN_FORM_BEFORE, fn() => new \Illuminate\Support\HtmlString('
<div class="mb-4 rounded-xl border border-amber-300 bg-amber-50 p-3.5 text-center text-xs text-amber-900 shadow-sm">
<span class="font-bold text-amber-800"> Nuova registrazione utente?</span>
<div class="mt-1">
<a href="/admin-filament/register" class="inline-flex items-center gap-1 rounded-lg bg-amber-600 px-3 py-1.5 font-bold text-white shadow hover:bg-amber-500 transition">
📝 REGISTRATI SUBITO A NETGESCON
</a>
</div>
</div>
'))
->renderHook(PanelsRenderHook::TOPBAR_LOGO_AFTER, fn() => view('filament.components.topbar-context')) ->renderHook(PanelsRenderHook::TOPBAR_LOGO_AFTER, fn() => view('filament.components.topbar-context'))
->renderHook(PanelsRenderHook::TOPBAR_LOGO_AFTER, fn() => view('filament.components.topbar-live-call')) ->renderHook(PanelsRenderHook::TOPBAR_LOGO_AFTER, fn() => view('filament.components.topbar-live-call'))
->renderHook(PanelsRenderHook::USER_MENU_BEFORE, fn() => view('filament.components.topbar-icons')) ->renderHook(PanelsRenderHook::USER_MENU_BEFORE, fn() => view('filament.components.topbar-icons'))

View File

@ -61,8 +61,8 @@ function credentials() {
if ($dbHost === "localhost") { if ($dbHost === "localhost") {
$dbHost = "127.0.0.1"; $dbHost = "127.0.0.1";
} }
$dbUser = env_get_val("DB_USERNAME", "netgescon"); $dbUser = env_get_val("DB_USERNAME", "netgescon_user");
$dbPass = env_get_val("DB_PASSWORD", "netgescon_pass"); $dbPass = env_get_val("DB_PASSWORD", "NetGescon2024!");
return array($dbHost, $dbUser, $dbPass); return array($dbHost, $dbUser, $dbPass);
} }
@ -78,8 +78,8 @@ function login($login, $password) {
function loginForm() { function loginForm() {
$connection = env_get_val("DB_CONNECTION", "mysql"); $connection = env_get_val("DB_CONNECTION", "mysql");
$driverVal = ($connection === "pgsql") ? "pgsql" : "server"; $driverVal = ($connection === "pgsql") ? "pgsql" : "server";
$dbUser = env_get_val("DB_USERNAME", "netgescon"); $dbUser = env_get_val("DB_USERNAME", "netgescon_user");
$dbPass = env_get_val("DB_PASSWORD", "netgescon_pass"); $dbPass = env_get_val("DB_PASSWORD", "NetGescon2024!");
$dbName = env_get_val("DB_DATABASE", "netgescon"); $dbName = env_get_val("DB_DATABASE", "netgescon");
echo '<div style="background:#1e293b; color:#f8fafc; padding:16px; border-radius:10px; margin-bottom:15px; font-family:sans-serif; font-size:13px; line-height:1.5; border:1px solid #334155;">'; echo '<div style="background:#1e293b; color:#f8fafc; padding:16px; border-radius:10px; margin-bottom:15px; font-family:sans-serif; font-size:13px; line-height:1.5; border:1px solid #334155;">';