Class DashboardController
java.lang.Object
com.modulink.Controller.Dashboard.DashboardController
Controller principale per la gestione del routing alla dashboard utente.
Questa classe funge da dispatcher centrale dopo l'autenticazione. Analizza lo stato dell'account utente per determinare la corretta vista di atterraggio (landing page). In particolare, gestisce la logica del "Primo Accesso" (First Login) forzando il completamento del profilo se necessario.
- Since:
- 1.0.0
- Version:
- 1.2.0
- Author:
- Modulink Team
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDashboardController(CustomUserDetailsService customUserDetailsService) Costruttore per l'iniezione delle dipendenze. -
Method Summary
Modifier and TypeMethodDescriptiondashboardDispatcher(Principal principal, org.springframework.ui.Model model) Gestisce le richieste verso la dashboard ("/" o "/dashboard").
-
Field Details
-
customUserDetailsService
-
-
Constructor Details
-
DashboardController
Costruttore per l'iniezione delle dipendenze.- Parameters:
customUserDetailsService- Servizio per il recupero e l'analisi dello stato utente.- Since:
- 1.0.0
-
-
Method Details
-
dashboardDispatcher
@GetMapping({"/dashboard","/dashboard/"}) public String dashboardDispatcher(Principal principal, org.springframework.ui.Model model) Gestisce le richieste verso la dashboard ("/" o "/dashboard").Esegue i seguenti controlli:
- Verifica l'autenticazione (Principal non null).
- Recupera l'entità utente dal database.
- Controlla se l'utente è al primo accesso tramite
CustomUserDetailsService.isThisaNewUtente(UtenteEntity).
- Parameters:
principal- L'utente autenticato.model- Il modello UI (non utilizzato direttamente qui ma disponibile per estensioni).- Returns:
- Il nome della vista ("user/firstlogin", "user/dashboard") o un redirect ("redirect:/...").
- Since:
- 1.0.0
-