Maison  >  Article  >  Spring Security 6 : cors() est obsolète et marqué pour suppression

Spring Security 6 : cors() est obsolète et marqué pour suppression

WBOY
WBOYavant
2024-02-10 23:45:081328parcourir

L'éditeur php Yuzai vous annonce une nouvelle importante : dans Spring Security version 6, la méthode cors() est obsolète et marquée pour suppression. La méthode cors() est utilisée pour gérer la configuration du partage de ressources entre domaines. Cependant, dans la nouvelle version, l'équipe Spring Security a décidé de supprimer cette méthode et d'introduire une solution inter-domaines plus puissante. Ce changement est un changement important pour les développeurs utilisant Spring Security, qui doivent comprendre et mettre à niveau leur code en temps opportun pour s'adapter aux modifications de la nouvelle version.

Contenu de la question

J'ai le code suivant :

public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    return http
            .httpBasic().disable()
            .cors().and().csrf().disable()
            .authorizeHttpRequests()
            .requestMatchers("/register")
            .permitAll()
            .and()
            .authorizeHttpRequests()
            .requestMatchers("/users")
            .hasAnyAuthority("USER", "ADMIN")
            .and().formLogin().and().build();
}

Veuillez m'aider à faire fonctionner cette fonctionnalité

Solution de contournement

Selon le Guide de migration et en plus Configuration vers la dernière version, securityfilterchaindevrait avoir le corps suivant.

@Bean
  public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    return http.csrf(AbstractHttpConfigurer::disable)
        .cors(AbstractHttpConfigurer::disable)
        .authorizeHttpRequests(request -> {
          request.requestMatchers("/register").permitAll();
          request.requestMatchers("/users")
              .hasAnyAuthority("USER", "ADMIN");
        }).formLogin(Customizer.withDefaults()).build();

  }

Lisez/vérifiez également la référence de la documentation ci-dessus. À propos, il existe de nombreux articles ici sur Stack Overflow concernant la migration vers la dernière version du framework.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer