Maison  >  Article  >  Java  >  Nouveaux requestMatchers dans Spring Security 6

Nouveaux requestMatchers dans Spring Security 6

WBOY
WBOYoriginal
2024-07-19 12:18:31706parcourir

New requestMatchers in Spring Security 6

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 :

Utilisez requestMatchers dans authorizeHttpRequests

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.

requestMatchers et securityMatchers

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 :

  • Si Spring MVC est présent, il utilise MvcRequestMatcher
  • Si Spring MVC n'est pas présent, il revient à AntPathRequestMatcher

La principale différence est que securityMatchers est utilisé dans des endroits comme WebSecurityCustomizer, tandis que requestMatchers est utilisé dans authorizeHttpRequests.

Choisir le bon partenaire

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Boucles sans corps en JavaArticle suivant:Boucles sans corps en Java