ホームページ > ウェブフロントエンド > jsチュートリアル > Spring Security を使用して Spring Boot で CORS を適切に構成する方法

Spring Security を使用して Spring Boot で CORS を適切に構成する方法

Linda Hamilton
リリース: 2024-11-27 00:17:10
オリジナル
286 人が閲覧しました

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

Spring Boot および Spring Security での CORS 構成

CORS をサポートしながら Spring Boot および Spring Security を使用すると、特定の構成の問題が発生し、予期しない結果につながる可能性があります。

このような問題の 1 つは、XMLHttpRequest で GET リクエストを作成し、CORS サポートを使用するときに発生します。つまり、認証資格情報が間違っているにもかかわらず、ステータス コード 200 が返されます。この動作により、フロントエンドでの HTTP ステータス コードの処理に不一致が生じます。

解決策

この問題を解決するには、Spring Security で CORS サポートを明示的に有効にすることが重要です。これは、Spring Security で CORS をセットアップすることで実現され、Spring MVC CORS 構成を活用できるようになります。

コントローラー レベルで @CrossOrigin アノテーションを使用するアプリケーションの場合は、Spring Security CORS サポートを有効にするだけで十分です。以下のコードは、これを示しています。

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()...
    }
}
ログイン後にコピー

グローバル CORS 構成を選択するユーザーの場合、CorsConfigurationSource Bean を定義する必要があります。

@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 Boot と Spring Security で有効になり、認証チェック中に適切な CORS ヘッダーが追加されない問題に対処しました。詳細については、CORS に関する Spring Security の公式ドキュメントを参照してください。

以上がSpring Security を使用して Spring Boot で CORS を適切に構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート