- Integra ASP.NET Core Identity: login/password, lockout brute-force, cookie sicuri, password policy forte - Seed automatico utente admin da variabili ambiente (fallback password temporanea forte) - Tutte le pagine principali ora protette con [Authorize] e redirect automatico a /login - Nuovo layout login/logout pulito senza sidebar, spinner durante redirect - NavMenu mostra utente autenticato e logout - Rimosse credenziali Bidoo da env/Docker: ora solo cookie sessione da UI - Aggiornata documentazione: sicurezza, deploy, backup, troubleshooting - Fix NavigationException, SectionRegistry, errori header read-only - Versione incrementata a 1.2.0, pronto per deploy production Tailscale/Unraid
37 lines
1.8 KiB
Plaintext
37 lines
1.8 KiB
Plaintext
<CascadingAuthenticationState>
|
|
<Router AppAssembly="@typeof(App).Assembly">
|
|
<Found Context="routeData">
|
|
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
|
|
<NotAuthorized>
|
|
@if (context.User.Identity?.IsAuthenticated != true)
|
|
{
|
|
<RedirectToLogin />
|
|
}
|
|
else
|
|
{
|
|
<p>Non sei autorizzato ad accedere a questa risorsa.</p>
|
|
}
|
|
</NotAuthorized>
|
|
</AuthorizeRouteView>
|
|
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
|
|
</Found>
|
|
<NotFound>
|
|
<PageTitle>Non trovato</PageTitle>
|
|
<LayoutView Layout="@typeof(MainLayout)">
|
|
<div style="padding: 2rem; text-align: center;">
|
|
<svg style="width: 64px; height: 64px; margin-bottom: 1rem; opacity: 0.5;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
<circle cx="12" cy="12" r="10"></circle>
|
|
<line x1="12" y1="8" x2="12" y2="12"></line>
|
|
<line x1="12" y1="16" x2="12.01" y2="16"></line>
|
|
</svg>
|
|
<h1 style="font-size: 1.5rem; margin-bottom: 0.5rem;">Pagina non trovata</h1>
|
|
<p style="color: var(--text-muted);">Spiacenti, non c'è nulla a questo indirizzo.</p>
|
|
<a href="/" style="color: var(--primary-color); text-decoration: none; margin-top: 1rem; display: inline-block;">
|
|
?? Torna alla Home
|
|
</a>
|
|
</div>
|
|
</LayoutView>
|
|
</NotFound>
|
|
</Router>
|
|
</CascadingAuthenticationState>
|