Class GlobalControllerAdvice

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

@ControllerAdvice public class GlobalControllerAdvice extends Object
Componente di tipo ControllerAdvice per la gestione globale degli attributi del Model.

Questa classe agisce come un interceptor per tutti i Controller dell'applicazione. La sua funzione principale è popolare automaticamente il Model con dati comuni necessari in quasi tutte le viste (es. layout base, sidebar), come l'utente loggato e la lista dei moduli a cui ha accesso.

Questo approccio evita la duplicazione di codice nei singoli metodi dei controller (DRY).

Since:
1.0.0
Version:
1.1.5
Author:
Modulink Team
  • Field Details

  • Constructor Details

    • GlobalControllerAdvice

      public GlobalControllerAdvice(CustomUserDetailsService customUserDetailsService, ModuloService moduloService)
      Costruttore per l'iniezione delle dipendenze.
      Parameters:
      customUserDetailsService - Servizio per recuperare i dettagli dell'utente.
      moduloService - Servizio per recuperare i moduli accessibili.
      Since:
      1.0.0
  • Method Details

    • addCommonAttributes

      @ModelAttribute public void addCommonAttributes(Principal principal, org.springframework.ui.Model model)
      Metodo annotato con ModelAttribute eseguito prima di ogni metodo di gestione richiesta (@RequestMapping).

      Se un utente è autenticato (Principal presente), recupera:

      • L'oggetto UtenteEntity completo.
      • La lista di ModuloEntity abilitati per l'utente (basata su attivazioni azienda e permessi ruolo).
      Questi dati vengono aggiunti al Model e resi disponibili alle viste Thymeleaf.
      Parameters:
      principal - L'utente autenticato.
      model - Il modello condiviso della richiesta.
      Since:
      1.0.0