Spring Boot Spring Security での CORS の処理
Spring Security および CORS サポートで Spring Boot を使用すると、予期しない動作が発生する可能性があります。デフォルトでは、CORS プリフライトリクエストは Spring MVC に到達する前に Spring Security によってブロックされる可能性があります。
構成オプション:
これに対処するには、次のように Spring Security で CORS サポートを明示的に有効にします。次のコードを HttpSecurity に追加します構成:
@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and()... } }
グローバル CORS 構成:
または、CorsConfigurationSource Bean を宣言してグローバル CORS 構成を定義できます:
@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; } }
CORS への対処懸念事項
このアプローチは、以前に推奨されていたフィルターベースのアプローチを置き換えます。詳細については、Spring Security ドキュメントの CORS セクションを参照してください。
既知の問題と回避策
これらの構成で問題が解決しない場合は、次の回避策を検討してください。 :
[Github の問題] 5834](https://github.com/spring-projects/spring-boot/issues/5834) は、潜在的な解決策を提供します。
以上がSpring Boot と Spring Security を使用して CORS を適切に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。