Class GMARoleController
java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.UserModules.GMA.Role.GMARoleController
Controller per la gestione dei permessi RBAC (Role-Based Access Control) sui moduli attivi.
Parte integrante del modulo GMA (Gestione Moduli Aziendali), questo controller permette agli amministratori di configurare quali ruoli aziendali hanno diritto di accesso a specifici moduli software acquistati dall'azienda.
- Since:
- 1.2.5
- Version:
- 1.5.0
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CustomUserDetailsServiceprivate final ModuloServiceprivate final RuoloService -
Constructor Summary
ConstructorsConstructorDescriptionGMARoleController(CustomUserDetailsService customUserDetailsService, ModuloService moduloService, RuoloService ruoloService) Costruttore per l'iniezione delle dipendenze. -
Method Summary
Modifier and TypeMethodDescriptiondashboardDispatcher(Principal principal, org.springframework.ui.Model model) Visualizza la dashboard di configurazione dei permessi ruoli-moduli.voiddisinstallaModulo(AziendaEntity azienda) Metodo astratto che deve essere implementato per gestire la logica di pulizia dei dati.editModulo(Principal principal, org.springframework.ui.Model model, int idModulo, List<Integer> roleIds) Aggiorna le affiliazioni (permessi) per un determinato modulo.Methods inherited from class ModuloController
getId, isAccessibleModulo, setId
-
Field Details
-
customUserDetailsService
-
moduloService
-
ruoloService
-
-
Constructor Details
-
GMARoleController
public GMARoleController(CustomUserDetailsService customUserDetailsService, ModuloService moduloService, RuoloService ruoloService) Costruttore per l'iniezione delle dipendenze.- Parameters:
customUserDetailsService- Servizio utenti.moduloService- Servizio moduli.ruoloService- Servizio ruoli.- Since:
- 1.2.5
-
-
Method Details
-
dashboardDispatcher
@GetMapping({"dashboard/gma","dashboard/gma/"}) public String dashboardDispatcher(Principal principal, org.springframework.ui.Model model) Visualizza la dashboard di configurazione dei permessi ruoli-moduli.- Parameters:
principal- Identità dell'amministratore.model- Modello UI.- Returns:
- Vista "moduli/gma/role/RoleModuli" o redirect.
- Since:
- 1.2.5
-
editModulo
@PostMapping("dashboard/gma/edit-modulo") public String editModulo(Principal principal, org.springframework.ui.Model model, @RequestParam int idModulo, @RequestParam(required=false) List<Integer> roleIds) Aggiorna le affiliazioni (permessi) per un determinato modulo.Riceve una lista di ID ruolo e aggiorna le associazioni nel database, garantendo che i ruoli selezionati (e solo quelli) abbiano accesso al modulo specificato. Implementa una logica di fallback per assicurare che il ruolo "Responsabile" mantenga sempre l'accesso.
- Parameters:
principal- Identità amministratore.model- Modello UI.idModulo- ID del modulo da configurare.roleIds- Lista degli ID dei ruoli abilitati.- Returns:
- Vista aggiornata con messaggio di successo/errore.
- Since:
- 1.2.5
-
disinstallaModulo
Description copied from class:ModuloControllerMetodo astratto che deve essere implementato per gestire la logica di pulizia dei dati.Viene invocato dal sistema durante la disattivazione o disinstallazione del modulo per una specifica azienda. Deve contenere la logica per rimuovere o archiviare in modo sicuro tutte le entità create dal modulo nel contesto dell'azienda indicata.
- Specified by:
disinstallaModuloin classModuloController- Parameters:
azienda- L'entitàAziendaEntityper cui il modulo viene rimosso.
-