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.
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é
Selon le Guide de migration et en plus Configuration vers la dernière version, securityfilterchain
devrait 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!