是否可以将 CORS 标头添加到来自 Tomcat 容器中 j_security_check 的响应
Posted
技术标签:
【中文标题】是否可以将 CORS 标头添加到来自 Tomcat 容器中 j_security_check 的响应【英文标题】:Is it possible to add CORS headers to response from j_security_check in Tomcat container 【发布时间】:2019-03-31 00:58:31 【问题描述】:尝试从在端口 8081 上运行的 app1 到在端口 8088 上运行的 app2 进行 ajax 调用时出现以下错误。由于 CORS 问题,浏览器阻止了重定向。
无法加载 http://localhost:8088/j_security_check?j_username=admin&j_password=admin:从“http://localhost:8088/j_security_check?j_username=admin&j_password=admin”重定向到“http://localhost:8088/resource”已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8081' 因此不允许访问。
有没有办法将 CORS 标头添加到自定义 j_security_check 类的响应中?
【问题讨论】:
【参考方案1】:尝试在tomcat的web.xml中添加下面的过滤器
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
并检查
【讨论】:
我已经试过这个过滤器了。它适用于所有 servlet,但不适用于 j_security_check 身份验证。以上是关于是否可以将 CORS 标头添加到来自 Tomcat 容器中 j_security_check 的响应的主要内容,如果未能解决你的问题,请参考以下文章