Sécurisation par profil
Nous souhaitons désormais autoriser les pages de création uniquement aux administrateurs.
- Compléter la classe SecurityConfig :
@Configuration
@EnableWebSecurity
// Activation de l'utilisation de l'annotation @Secured
@EnableGlobalMethodSecurity(securedEnabled=true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
}
- Annoter les méthodes des contrôleurs pour gérer les accès. Exemple :
@Controller
@RequestMapping("/employes")
public class RemunerationEmployeController {
...
@RequestMapping(method = RequestMethod.GET, path = "/creer")
@Secured("ROLE_ADMINISTRATEUR")
public ModelAndView afficherPageCreer() {
...
}
@RequestMapping(method = RequestMethod.GET, path = "/lister")
@Secured({"ROLE_UTILISATEUR", "ROLE_ADMINISTRATEUR"})
public ModelAndView afficherPageLister(...) {
...
}
@RequestMapping(method = RequestMethod.POST, path = "/creer")
@Secured("ROLE_ADMINISTRATEUR")
public void creerEmploye(...) {
...
}
}
- Vérifier l'application de la configuration.