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

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

Linda Hamilton
Freigeben: 2024-11-27 00:17:10
Original
277 Leute haben es durchsucht

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

CORS-Konfiguration in Spring Boot und Spring Security

Bei der Verwendung von Spring Boot und Spring Security bei gleichzeitiger Unterstützung von CORS können bestimmte Konfigurationsprobleme auftreten, die zu unerwarteten Ergebnissen führen.

Ein solches Problem tritt auf, wenn eine GET-Anfrage mit XMLHttpRequest gestellt und CORS-Unterstützung verwendet wird, wobei trotz falscher Authentifizierungsdaten ein Statuscode 200 zurückgegeben wird. Dieses Verhalten führt zu Diskrepanzen bei der Verarbeitung von HTTP-Statuscodes im Frontend.

Lösung

Um dieses Problem zu beheben, ist es wichtig, die CORS-Unterstützung in Spring Security explizit zu aktivieren. Dies wird durch die Einrichtung von CORS in Spring Security erreicht, wodurch die Spring MVC CORS-Konfiguration genutzt werden kann.

Für Anwendungen, die @CrossOrigin-Annotationen auf Controller-Ebene verwenden, reicht es aus, die Spring Security CORS-Unterstützung einfach zu aktivieren. Der folgende Code zeigt dies:

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

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

Für Benutzer, die sich für eine globale CORS-Konfiguration entscheiden, ist es notwendig, eine CorsConfigurationSource-Bean zu definieren.

@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;
    }
}
Nach dem Login kopieren

Durch die Verwendung dieses Ansatzes wird die CORS-Unterstützung effektiv ist in Spring Boot und Spring Security aktiviert und behebt das Problem, dass bei Authentifizierungsprüfungen nicht die richtigen CORS-Header hinzugefügt wurden. Weitere Informationen finden Sie in der offiziellen Spring Security-Dokumentation zu CORS.

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich CORS in Spring Boot mit Spring Security richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage