Maison  >  Article  >  Java  >  Comment intégrer le filtre CORS Spring Security ?

Comment intégrer le filtre CORS Spring Security ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 12:52:22190parcourir

How to Integrate Spring Security CORS Filter?

Intégration du filtre CORS Spring Security

Spring Security nécessite une configuration CORS pour gérer les requêtes d'origine croisée. Pour résoudre spécifiquement ce problème, suivez ces étapes :

  1. Implémentez un WebMvcConfigurerAdapter :

    <code class="java">@Configuration
    public class WebConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
        }
    }</code>
  2. Configurez CORS dans HttpSecurity :

    <code class="java">@Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.cors().configurationSource(corsConfigurationSource());
        }
    
        @Bean
        public CorsConfigurationSource corsConfigurationSource() {
            final CorsConfiguration configuration = new CorsConfiguration();
            configuration.setAllowedOrigins(ImmutableList.of("*"));
            configuration.setAllowedMethods(ImmutableList.of("HEAD",
                                "GET", "POST", "PUT", "DELETE", "PATCH"));
            configuration.setAllowCredentials(true);
            configuration.setAllowedHeaders(ImmutableList.of("Authorization", "Cache-Control", "Content-Type"));
            final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", configuration);
            return source;
        }
    }</code>

Remarques importantes :

  • Évitez d'utiliser http.authorizeRequests().antMatchers (HttpMethod.OPTIONS, "/**").permitAll(); ou web.ignoring().antMatchers(HttpMethod.OPTIONS);, car ce sont des solutions incorrectes.
  • Reportez-vous à la documentation officielle de Spring Security pour plus de détails : http://docs.spring.io/spring- security/site/docs/4.2.x/reference/html/cors.html

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