Rumah >hujung hadapan web >tutorial js >Bagaimana untuk mengkonfigurasi CORS dengan betul dalam Boot Spring dengan Keselamatan Spring?

Bagaimana untuk mengkonfigurasi CORS dengan betul dalam Boot Spring dengan Keselamatan Spring?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 00:17:10263semak imbas

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

Konfigurasi CORS dalam Spring Boot dan Spring Security

Apabila menggunakan Spring Boot dan Spring Security sambil menyokong CORS, isu konfigurasi tertentu boleh timbul, yang membawa kepada hasil yang tidak dijangka.

Satu isu sedemikian dihadapi apabila membuat permintaan GET dengan XMLHttpRequest dan menggunakan sokongan CORS, di mana kod status 200 dikembalikan walaupun bukti kelayakan pengesahan tidak betul. Tingkah laku ini memperkenalkan percanggahan dalam mengendalikan kod status HTTP pada bahagian hadapan.

Penyelesaian

Untuk menyelesaikan masalah ini, adalah penting untuk mendayakan sokongan CORS secara eksplisit dalam Spring Security. Ini dicapai dengan menyediakan CORS dalam Spring Security, yang membolehkannya memanfaatkan konfigurasi Spring MVC CORS.

Untuk aplikasi yang menggunakan anotasi @CrossOrigin pada peringkat pengawal, cukup dengan mendayakan sokongan Spring Security CORS. Kod di bawah menunjukkan perkara ini:

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

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

Untuk pengguna yang memilih konfigurasi CORS global, adalah perlu untuk mentakrifkan kacang CorsConfigurationSource.

@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;
    }
}

Dengan menggunakan pendekatan ini, sokongan CORS berkesan didayakan dalam Spring Boot dan Spring Security, menangani isu di mana pengepala CORS yang betul tidak ditambahkan semasa pemeriksaan pengesahan. Rujuk dokumentasi Spring Security rasmi tentang CORS untuk butiran lanjut.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi CORS dengan betul dalam Boot Spring dengan Keselamatan Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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