Heim > Web-Frontend > js-Tutorial > Wie behebe ich „0'-Statuscodefehler in Spring Boot AJAX-Anfragen mit Spring Security?

Wie behebe ich „0'-Statuscodefehler in Spring Boot AJAX-Anfragen mit Spring Security?

Patricia Arquette
Freigeben: 2024-11-30 17:18:12
Original
340 Leute haben es durchsucht

How to Fix

So lösen Sie CORS-Probleme mit Spring Boot und Spring Security

Die Konfiguration von CORS (Cross-Origin Resource Sharing) ist wichtig, um Cross-Origin Resource Sharing zu ermöglichen. Ursprungsanforderungen in Spring Boot-Anwendungen. Bei Verwendung von Spring Security mit CORS-Unterstützung kann es jedoch aufgrund von Browsereinschränkungen zu falschen Serverantworten kommen.

Problem:

Beim Ausführen einer AJAX-Anfrage sowohl mit Spring Boot als auch Spring Security kann ein XMLHttpRequest-Objekt einen „0“-Statuscode mit einem leeren Antworttext anstelle eines richtigen HTTP-Statuscodes wie erhalten 401.

Ursache:

Dieses Problem entsteht durch einen Konflikt zwischen dem Umleitungsverhalten von Spring Security während des Authentifizierungsprozesses und dem Fehlen von CORS-Headern in der ersten Anfrage.

Lösung:

Spring Security nutzt jetzt Spring MVC CORS Unterstützung. Um dieses Problem zu beheben:

  1. Spring Security CORS-Unterstützung aktivieren:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors();
    }
}
Nach dem Login kopieren
  1. Globale CORS-Konfiguration (optional) :

Bei Bedarf können Sie globale CORS-Regeln mithilfe einer CorsConfigurationSource konfigurieren bean:

@Configuration
@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 Aktivierung der Spring Security CORS-Unterstützung wird die vorhandene CORS-Konfiguration in Spring MVC genutzt und sichergestellt, dass den Antworten die richtigen CORS-Header hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie behebe ich „0'-Statuscodefehler in Spring Boot AJAX-Anfragen mit Spring Security?. 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