Spring Security 4.1 以降で CORS の問題をトラブルシューティングして修正するにはどうすればよいですか?

DDD
リリース: 2024-10-28 21:51:02
オリジナル
385 人が閲覧しました

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

Spring Security CORS フィルター: 一般的な問題のトラブルシューティング

Spring Security を既存のプロジェクトに統合するときに、ヘッダーが次の場合に CORS 関連のエラーが発生する可能性があります。 「Access-Control-Allow-Origin」などは応答に設定されません。これを解決するには、コード スニペットに MyFilter などのカスタム フィルターを実装します。ただし、このフィルターはリクエストに適用されていないとも述べました。

Spring Security 4.1 以降、CORS サポートを有効にするためのより簡単なアプローチがあります。

適切な CORS 構成:

<br>@Configuration<br>public class WebConfig extends 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");
}
ログイン後にコピー

}

Spring Security Configuration:

<br>@Configuration<br>public class SecurityConfig extends WebSecurityConfigurerAdapter {</p>
<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
}
ログイン後にコピー

}
< ;/pre>

これらの誤った解決策を回避してください:

次のような誤ったアプローチは使用しないでください:

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

追加のトラブルシューティングのヒント:

  • カスタム フィルター MyFilter が Spring コンテキストに適切に登録されていることを確認してください。
  • SecurityConfiguration クラスの CORS 設定が正しいことを確認してください.
  • 生成されたフィルター チェーンをチェックして、MyFilter が含まれ、それに応じて順序付けされていることを確認します。
  • HTTPie やブラウザ拡張機能などのツールを使用して、リクエスト ヘッダーとレスポンス ヘッダーを検査し、矛盾を特定します。

推奨される構成に従い、間違った解決策を回避することで、CORS エラーを解決し、アプリケーションで適切な CORS サポートを有効にすることができます。

以上がSpring Security 4.1 以降で CORS の問題をトラブルシューティングして修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
前の記事:Windows で「Java が認識されません」エラーが発生する理由とその修復方法 次の記事:クロスプラットフォーム互換性のために JAR を EXE に変換するにはどうすればよいですか?
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!