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"); }
}
>
</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 }
Elakkan Penyelesaian Salah Ini:
Jangan gunakan pendekatan yang salah berikut, seperti:
http.authorizeRequests ().antMatchers(HttpMethod.OPTIONS, "/**").permitAll();
Pastikan penapis tersuai anda, MyFilter, didaftarkan dengan betul dalam konteks Spring.
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!