Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 8 · Application directe du cours
Les règles dans le désordre
Sécuriser l'application · niveau 2
Énoncé
Le profil desordre de la démonstration déclare la règle anyRequest().authenticated() avant la règle qui rend le catalogue public. Que se passe-t-il au démarrage ? Qu'aurait-on obtenu si Spring Security acceptait cette configuration ?
Corrigé
L'application refuse de démarrer :
Caused by: java.lang.IllegalStateException: Can't configure requestMatchers after anyRequest
Spring Security détecte qu'une règle placée après anyRequest() ne pourrait jamais s'appliquer : les règles sont examinées dans l'ordre, et anyRequest() correspond à tout. Si la configuration était acceptée, le catalogue, censé être public, exigerait un compte, et l'application Vue ne fonctionnerait plus. Le refus au démarrage transforme une faille silencieuse en erreur immédiate. (Avec deux règles particulières mal ordonnées, en revanche, aucune erreur : par exemple, /api/livres/** réservé à l'administrateur avant la lecture publique de /api/livres/* fermerait le catalogue.)
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.