Heim  >  Artikel  >  Java  >  Wie integriere ich den Spring Security CORS-Filter?

Wie integriere ich den Spring Security CORS-Filter?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 12:52:22190Durchsuche

How to Integrate Spring Security CORS Filter?

Spring Security CORS-Filterintegration

Spring Security erfordert eine CORS-Konfiguration, um ursprungsübergreifende Anfragen zu verarbeiten. Um dieses Problem gezielt zu beheben, führen Sie die folgenden Schritte aus:

  1. Implementieren Sie einen 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. Konfigurieren Sie CORS in 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>

Wichtige Hinweise:

  • Vermeiden Sie die Verwendung von http.authorizeRequests().antMatchers (HttpMethod.OPTIONS, "/**").permitAll(); oder web.ignoring().antMatchers(HttpMethod.OPTIONS);, da es sich um falsche Lösungen handelt.
  • Weitere Informationen finden Sie in der offiziellen Spring Security-Dokumentation: http://docs.spring.io/spring- security/site/docs/4.2.x/reference/html/cors.html

Das obige ist der detaillierte Inhalt vonWie integriere ich den Spring Security CORS-Filter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn