web:framework:spring:security

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
web:framework:spring:security [2026/10/26 10:53] – jcheronweb:framework:spring:security [2026/10/26 11:24] (Version actuelle) – [Mise en place CSRF] jcheron
Ligne 52: Ligne 52:
 </sxh> </sxh>
  
-<wrap info>+<wrap info round>
 Les chaînes passées à **requestMatchers** sont interprétées comme des patterns de chemin. Il n'est plus nécessaire d'utiliser **AntPathRequestMatcher** (déprécié dans les versions récentes). Les chaînes passées à **requestMatchers** sont interprétées comme des patterns de chemin. Il n'est plus nécessaire d'utiliser **AntPathRequestMatcher** (déprécié dans les versions récentes).
 </wrap> </wrap>
  
-<wrap important>+<wrap important round>
 La protection CSRF est **activée par défaut**. Ne la désactivez pas (**csrf.disable()**) sans raison valable, voir la section [[#mise_en_place_csrf|Mise en place CSRF]]. La protection CSRF est **activée par défaut**. Ne la désactivez pas (**csrf.disable()**) sans raison valable, voir la section [[#mise_en_place_csrf|Mise en place CSRF]].
 </wrap> </wrap>
Ligne 196: Ligne 196:
 </wrap> </wrap>
  
-<wrap important>+<wrap important round>
 Attention aux **dépendances circulaires** : si **UserService** injecte **PasswordEncoder** et que le bean **PasswordEncoder** est défini dans une classe qui injecte **UserService**, Spring échouera au démarrage. Ici, **SecurityConfig** ne dépend pas de **UserService**, donc tout va bien. Attention aux **dépendances circulaires** : si **UserService** injecte **PasswordEncoder** et que le bean **PasswordEncoder** est défini dans une classe qui injecte **UserService**, Spring échouera au démarrage. Ici, **SecurityConfig** ne dépend pas de **UserService**, donc tout va bien.
 </wrap> </wrap>
Ligne 309: Ligne 309:
 </sxh> </sxh>
  
-<wrap important>+<wrap important round>
 La console H2 ne doit **jamais** être exposée en production. Idéalement, placez cette configuration dans un profil Spring dédié (**@Profile("dev")**). La console H2 ne doit **jamais** être exposée en production. Idéalement, placez cette configuration dans un profil Spring dédié (**@Profile("dev")**).
 </wrap> </wrap>
Ligne 380: Ligne 380:
 | 5 - **authenticated** | Pour toutes les autres URLs, il faut être authentifié. | | 5 - **authenticated** | Pour toutes les autres URLs, il faut être authentifié. |
  
-<wrap important>+<wrap important round>
 **Ordre des règles** : elles sont évaluées dans l'ordre de déclaration, la première qui correspond s'applique. Placez toujours les règles les plus spécifiques en premier, et **anyRequest()** en dernier. **Ordre des règles** : elles sont évaluées dans l'ordre de déclaration, la première qui correspond s'applique. Placez toujours les règles les plus spécifiques en premier, et **anyRequest()** en dernier.
 </wrap> </wrap>
Ligne 503: Ligne 503:
 </sxh> </sxh>
  
-<wrap info>+<wrap info round>
 Avec **Thymeleaf**, le token CSRF est inséré automatiquement dans les formulaires utilisant **th:action**. Avec **Thymeleaf**, le token CSRF est inséré automatiquement dans les formulaires utilisant **th:action**.
 </wrap> </wrap>
  
-<wrap important>+<wrap important round>
 Attention à la route **/logout** : avec CSRF activé, elle doit être accédée uniquement via un **POST** incluant le token CSRF. Attention à la route **/logout** : avec CSRF activé, elle doit être accédée uniquement via un **POST** incluant le token CSRF.
 </wrap> </wrap>
  
 Voir [[https://docs.spring.io/spring-security/reference/servlet/exploits/csrf.html|Spring Cross Site Request Forgery]] Voir [[https://docs.spring.io/spring-security/reference/servlet/exploits/csrf.html|Spring Cross Site Request Forgery]]
  • web/framework/spring/security.1793008381.txt.gz
  • Dernière modification : il y a 15 heures
  • de jcheron