Dans Spring Security 6, les méthodes requestMatchers ont remplacé les méthodes obsolètes antMatchers, mvcMatchers et regexMatchers pour configurer le contrôle d'accès basé sur le chemin. Voici les points clés des nouveaux requestMatchers :
La méthode authorizeHttpRequests dans la configuration HttpSecurity vous permet de configurer une correspondance fine des requêtes pour le contrôle d'accès. Vous pouvez utiliser la méthode requestMatchers pour spécifier quelles demandes doivent être autorisées ou authentifiées. Par exemple :
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.authorizeHttpRequests(auth -> auth .requestMatchers("/greet").permitAll() .anyRequest().authenticated()) .formLogin() .build(); }
Cette configuration permet d'accéder au point de terminaison /greet sans authentification tout en exigeant une authentification pour toutes les autres demandes.
Il existe deux méthodes similaires : requestMatchers et securityMatchers. Tous deux choisissent l'implémentation de RequestMatcher la plus appropriée en fonction de la présence de Spring MVC dans le chemin de classe :
La principale différence est que securityMatchers est utilisé dans des endroits comme WebSecurityCustomizer, tandis que requestMatchers est utilisé dans authorizeHttpRequests.
Les méthodes requestMatchers vous permettent de faire correspondre des requêtes basées sur des modèles ou d'autres critères sans compter sur des matchers spécifiques comme AntPathRequestMatcher ou RegexRequestMatcher. Cela offre plus de flexibilité et de meilleurs paramètres par défaut.
Pour utiliser un matcher spécifique, vous pouvez passer une implémentation de RequestMatcher à la méthode requestMatchers :
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.authorizeHttpRequests(auth -> auth .requestMatchers(new AntPathRequestMatcher("/greet")).permitAll() .anyRequest().authenticated()) .formLogin() .build(); }
En résumé, les nouvelles méthodes requestMatchers de Spring Security 6 offrent un moyen plus flexible et plus sécurisé de configurer le contrôle d'accès basé sur le chemin, en choisissant l'implémentation de RequestMatcher la plus appropriée en fonction des dépendances de l'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!