Rumah > Java > javaTutorial > 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
Lepaskan: 2024-10-28 21:51:02
asal
484 orang telah melayarinya

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>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**")
            .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
}
Salin selepas log masuk

}
>

Konfigurasi Keselamatan Musim Bunga:

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

@Bean
public CorsConfigurationSource corsConfigurationSource() {
    // Configure CORS settings here
}
Salin selepas log masuk


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!

sumber:php.cn
Artikel sebelumnya:Mengapa Ralat \"Java tidak dikenali\" Berlaku dalam Windows dan Bagaimana untuk Membetulkannya? Artikel seterusnya:Bagaimana untuk Menukar JAR kepada EXE untuk Keserasian Cross-Platform?
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
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan