Heim >Web-Frontend >js-Tutorial >Wie konfiguriere ich CORS mit Spring Boot und Spring Security richtig?

Wie konfiguriere ich CORS mit Spring Boot und Spring Security richtig?

DDD
DDDOriginal
2024-11-28 17:04:10716Durchsuche

How to Properly Configure CORS with Spring Boot and Spring Security?

Umgang mit CORS mit Spring Boot Spring Security

Bei der Verwendung von Spring Boot mit Spring Security und CORS-Unterstützung kann es zu unerwartetem Verhalten kommen. Standardmäßig können CORS-Preflight-Anfragen von Spring Security blockiert werden, bevor sie Spring MVC erreichen.

Konfigurationsoptionen:

Um dieses Problem zu beheben, aktivieren Sie die CORS-Unterstützung in Spring Security explizit durch Hinzufügen des folgenden Codes zur HttpSecurity-Konfiguration:

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()...
    }
}

Global CORS Konfiguration:

Alternativ können Sie eine globale CORS-Konfiguration definieren, indem Sie eine CorsConfigurationSource-Bean deklarieren:

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()...
    }

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
        return source;
    }
}

Adressierung von CORS-Bedenken

Dieser Ansatz ersetzt den bisher empfohlenen filterbasierten Ansatz. Weitere Informationen finden Sie im CORS-Abschnitt der Spring Security-Dokumentation.

Bekannte Probleme und Problemumgehungen

Wenn diese Konfigurationen das Problem nicht beheben, ziehen Sie die folgende Problemumgehung in Betracht :

[Github-Problem 5834](https://github.com/spring-projects/spring-boot/issues/5834) bietet eine mögliche Lösung.

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich CORS mit Spring Boot und Spring Security richtig?. 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