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 메소드를 허용하지 않으면 대소문자를 구분합니까?