Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyelesaikan masalah dan membetulkan isu CORS dengan Spring Security 4.1 dan seterusnya?

Bagaimana untuk menyelesaikan masalah dan membetulkan isu CORS dengan Spring Security 4.1 dan seterusnya?

DDD
DDDasal
2024-10-28 21:51:02387semak imbas

How to troubleshoot and fix CORS issues with Spring Security 4.1 and beyond?

Penapis CORS Keselamatan Musim Bunga: Menyelesaikan Masalah Isu Biasa

Apabila menyepadukan Spring Security ke dalam projek sedia ada, anda mungkin menghadapi ralat berkaitan CORS jika pengepala seperti 'Access-Control-Allow-Origin' tidak ditetapkan dalam respons. Untuk menyelesaikan masalah ini, anda boleh melaksanakan penapis tersuai, seperti Penapis Saya dalam coretan kod anda. Walau bagaimanapun, anda juga menyebut bahawa penapis ini tidak digunakan pada permintaan anda.

Sejak Spring Security 4.1, terdapat pendekatan yang lebih mudah untuk membolehkan sokongan CORS:

Konfigurasi CORS yang Betul :

<br>@Configuration<br>kelas awam WebConfig memanjangkan WebMvcConfigurerAdapter {</p>
<pre class="brush:php;toolbar:false">@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**")
            .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
}

}
>

Konfigurasi Keselamatan Musim Bunga:

</p>@Configuration<p>SecurityConfig kelas awam melanjutkan WebSecurityConfigurerAdapter {<br><br></p>< ;/pre><pre class="brush:php;toolbar:false">@Override
protected void configure(HttpSecurity http) throws Exception {
    http.cors();
}

@Bean
public CorsConfigurationSource corsConfigurationSource() {
    // Configure CORS settings here
}


Elakkan Penyelesaian Salah Ini:

Jangan gunakan pendekatan yang salah berikut, seperti:

http.authorizeRequests ().antMatchers(HttpMethod.OPTIONS, "/**").permitAll();

    web.ignoring().antMatchers(HttpMethod.OPTIONS);
  • Petua Penyelesaian Masalah Tambahan:

Pastikan penapis tersuai anda, MyFilter, didaftarkan dengan betul dalam konteks Spring.

    Sahkan bahawa tetapan CORS dalam kelas SecurityConfiguration anda adalah betul .
  • Semak rantai penapis yang dijana untuk memastikan MyFilter disertakan dan disusun dengan sewajarnya.
  • Gunakan alatan seperti HTTPie atau sambungan penyemak imbas untuk memeriksa pengepala permintaan dan respons untuk mengenal pasti sebarang percanggahan.
  • Dengan mengikut konfigurasi yang disyorkan dan mengelakkan penyelesaian yang salah, anda seharusnya dapat menyelesaikan ralat CORS dan mendayakan sokongan CORS yang betul dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah dan membetulkan isu CORS dengan Spring Security 4.1 dan seterusnya?. 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