HTTP 基本認証で保護された API があります。
API に対して AJAX リクエストを行うと、ブラウザは Authorization ヘッダーを含まない OPTIONS リクエストを送信するため、リクエストが拒否され、ブラウザによって AJAX 呼び出しが許可されません。
OPTIONS リクエストを認証しないように Tomcat を設定しようとしましたが、うまく動作しませんでした。
Tomcat で OPTIONS リクエストの HTTP 認証を無効にするにはどうすればいいですか?
答え1
多分この答え役に立ちます。つまり、次のようにして、認証されていない場合でもリクエストを CorsFilter に転送するように Tomcat サーバーを構成する必要があります。
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<!-- no auth-constraint here -->
</security-constraint>
「auth-constraint」要素を含めないようにしてください。したがって、次の例は機能しません。
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint/><!-- this will prevent OPTIONS request -->
</security-constraint>
答え2
目的に応じてホワイトリストを作成する必要があります
詳細については以下を参照してください:Tomcat で HTTP メソッドを禁止すると大文字と小文字が区別されますか?