Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Membetulkan Ralat Kod Status \'0\' dalam Permintaan AJAX Boot Spring dengan Keselamatan Spring?

Bagaimana untuk Membetulkan Ralat Kod Status \'0\' dalam Permintaan AJAX Boot Spring dengan Keselamatan Spring?

Patricia Arquette
Lepaskan: 2024-11-30 17:18:12
asal
334 orang telah melayarinya

How to Fix

Cara Menyelesaikan Isu CORS dengan Spring Boot dan Keselamatan Spring

Mengkonfigurasi CORS (Cross-Origin Resource Sharing) adalah penting untuk membolehkan cross- permintaan asal dalam aplikasi Spring Boot. Walau bagaimanapun, apabila menggunakan Spring Security dengan sokongan CORS, respons pelayan yang salah mungkin berlaku disebabkan oleh sekatan penyemak imbas.

Masalah:

Apabila melaksanakan permintaan AJAX dengan kedua-dua Spring Boot dan Spring Security, objek XMLHttpRequest mungkin menerima kod status "0" dengan badan respons kosong dan bukannya kod status HTTP yang betul seperti 401.

Punca:

Isu ini timbul daripada konflik antara tingkah laku ubah hala Spring Security semasa proses pengesahan dan kekurangan pengepala CORS dalam permintaan awal.

Penyelesaian:

Spring Security sekarang memanfaatkan sokongan Spring MVC CORS. Untuk menyelesaikan isu ini:

  1. Dayakan Sokongan CORS Spring Security:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors();
    }
}
Salin selepas log masuk
  1. Konfigurasi Global CORS (Pilihan) :

Jika mahu, anda boleh mengkonfigurasi peraturan CORS global menggunakan CorsConfigurationSource 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;
    }
}
Salin selepas log masuk

Dengan mendayakan sokongan Spring Security CORS, ia akan memanfaatkan konfigurasi CORS sedia ada dalam Spring MVC dan memastikan bahawa pengepala CORS yang betul ditambahkan pada respons.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Kod Status \'0\' dalam Permintaan AJAX Boot Spring dengan Keselamatan Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan