Java设置Access-Control-Allow-Origin允许多域名访问的实现方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java设置Access-Control-Allow-Origin允许多域名访问的
实现⽅法
对于前后端分离的项⽬难免会遇到跨域的问题,在设置跨域的问题中有许多需要注意的事情,如本次将要将的设置Access-Control-Allow-Origin使其允许多域名请求。

(1)设置允许多域名访问最简单的⽅法是使⽤通配符,但是这种⽅式允许所有域名都可以访问,并不安全,⽽且这种⽅式浏览器不能携带cookie信息(携带cookie信息只能使⽤真实域名,如下⾯第⼆中⽅式)。

这种⽅式只推荐在不带cookie信息的开发中测试使⽤。

代码如下:
rep.setHeader("Access-Control-Allow-Origin", "*");
(2)使⽤数组过滤的⽅式
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
// 设置允许多个域名请求
String[] allowDomains = {"http://www.toheart.xin","http://192.168.11.213:8080","http://localhost:8080"};
Set allowOrigins = new HashSet(Arrays.asList(allowDomains));
String originHeads = req.getHeader("Origin");
if(allowOrigins.contains(originHeads)){
//设置允许跨域的配置
// 这⾥填写你允许进⾏跨域的主机ip(正式上线时可以动态配置具体允许的域名和IP)
rep.setHeader("Access-Control-Allow-Origin", originHeads);
}
总结
以上所述是⼩编给⼤家介绍的Java设置Access-Control-Allow-Origin允许多域名访问的实现⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

在此也⾮常感谢⼤家对⽹站的⽀持!。

相关文档
最新文档