Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →