feat(auth): Implementazione completa sistema autenticazione
BREAKING CHANGE: Tutte le pagine ora richiedono autenticazione Nuove funzionalità: - Sistema di login con password hardcoded (admin123) - Form di login full-screen con gradiente viola - Protezione automatica di tutte le route - Pulsante logout visibile in tutte le pagine - Gestione thread-safe eventi autenticazione con InvokeAsync() Componenti: - AuthenticationService: servizio Singleton per gestione stato - Login.razor: pagina login con validazione e messaggi errore - App.razor: routing condizionale basato su autenticazione - MainLayout.razor: pulsante logout integrato Fix tecnici: - Risolto errore "Dispatcher not associated" usando InvokeAsync() - Implementato pattern corretto per eventi cross-thread in Blazor Server - Aggiunto Dispose per prevenire memory leak
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
@inherits LayoutComponentBase
|
||||
@using Data_Coupler.Services
|
||||
@inject IAuthenticationService AuthService
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<PageTitle>Data_Coupler</PageTitle>
|
||||
|
||||
@@ -9,7 +11,9 @@
|
||||
|
||||
<main>
|
||||
<div class="top-row px-4">
|
||||
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
||||
<button class="btn btn-outline-danger btn-sm logout-button" @onclick="Logout">
|
||||
<i class="oi oi-account-logout"></i> Logout
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<article class="content px-4">
|
||||
@@ -17,3 +21,16 @@
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.logout-button {
|
||||
float: right;
|
||||
}
|
||||
</style>
|
||||
|
||||
@code {
|
||||
private void Logout()
|
||||
{
|
||||
AuthService.Logout();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user