我使用球衣2.18来开发rest api。 (使用tomcat容器)球衣跨域请求
我想允许从其他域访问客户端。
所以我想下面的代码,以允许跨域请求。
过滤
public class MyCorsFilter implements Filter {
public MyCorsFilter() { }
public void init(FilterConfig fConfig) throws ServletException { }
public void destroy() { }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
((HttpServletResponse)response).addHeader("Access-Control-Allow-Origin", "*");
chain.doFilter(request, response);
}
}
的web.xml
<filter>
<filter-name>MyCorsFilter</filter-name>
<filter-class>MyCorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyCorsFilter</filter-name>
<url-pattern>/api/*</url-pattern>
</filter-mapping>
上面的代码,直到我添加了HTTP基本身份验证工作正常。
当我添加我得到以下错误的基本身份验证:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
使用的开发工具检查头,我发现以下几点:
请注意,是在执行OPTIONS
错误方法。 (我正在使用GET
方法)
有关如何添加基本HTTP身份验证允许CORS任何建议将不胜感激。