Class DashboardController

java.lang.Object
com.modulink.Controller.Dashboard.DashboardController

@Controller public class DashboardController extends Object
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 Details

  • Constructor Details

    • DashboardController

      public DashboardController(CustomUserDetailsService customUserDetailsService)
      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:

      1. Verifica l'autenticazione (Principal non null).
      2. Recupera l'entità utente dal database.
      3. Controlla se l'utente è al primo accesso tramite CustomUserDetailsService.isThisaNewUtente(UtenteEntity).
      Se è il primo accesso, reindirizza alla procedura guidata di configurazione profilo. Altrimenti, mostra la dashboard standard.
      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