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

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

DDD
DDDオリジナル
2024-10-28 21:51:02385ブラウズ

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>
<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>
<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。