美文网首页
Java Web中实现设置多个域名跨域访问

Java Web中实现设置多个域名跨域访问

作者: 佐佑时代 | 来源:发表于2017-07-21 13:27 被阅读0次

添加以下设置可允许所有域名跨域访问:

response.setHeader("Access-Control-Allow-Origin","*");

但在实际应用中,为了安全起见,不应该让所有域名都能跨域请求服务器API,需要设置指定的几个域名可以访问,直接通过以下代码是不能实现的

response.setHeader("Access-Control-Allow-Origin","http://localhost:8000, http://oa.ewsd.cn");

可把需要指定能跨域访问的域名通过数组的方式进行设置,代码如下:

// 允许跨域请求
String[] allowDomain = {"http://localhost:8000", "http://oa.ewsd.cn"};
Set<String> allowedOrigins = new HashSet<String>(Arrays.asList(allowDomain));
String originHeader = request.getHeader("Origin");
if (allowedOrigins.contains(originHeader)) {
    response.setHeader("Access-Control-Allow-Origin", originHeader);
    response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Cookie");
    response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
    response.setHeader("Access-Control-Allow-Credentials", "true");
}

参考:http://blog.csdn.net/zlp_zky/article/details/70213811

相关文章

  • Java Web中实现设置多个域名跨域访问

    添加以下设置可允许所有域名跨域访问: 但在实际应用中,为了安全起见,不应该让所有域名都能跨域请求服务器API,需要...

  • Nodejs 设置跨域

    设置允许所有域名跨域: 设置允许指定域名“http://www.tefang.cn”跨域: 设置允许多个域名跨域:...

  • Nginx 允许多个域名跨域访问

    参考: Nginx 允许多个域名跨域访问 当浏览器发起ajax请求到其他域名时,会出现跨域的问题,在nginx上的...

  • Node.js如何设置允许跨域

    设置允许所有域名跨域: 设置允许指定域名“http://www.zhangpeiyue.com”跨域: 设置允许多...

  • 使用CORS解决跨域问题

    1.跨域问题 1.1 什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

  • vue设置本地代理

    原生WEB项目可以使用nginx设置代理跨域访问接口获取session,在vue中可以通过配置文件设置,更加方便。...

  • CORS解决跨域问题

    1.跨域问题 1.1.什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

  • C# Web直接上传视频或者文件到OSS

    代码 解决本地调试跨域问题 设置跨域规则:找到OSS存储——Bucket列表——基础设置——跨域访问——设置 暴露...

  • 跨域方式实现原理之-jsonp

    什么是跨域首先说一下同源:同源就是规定多个web资源的url中的scheme(协议)、hostname(域名)、p...

  • Spring Cloud配置跨域访问的五种方案?你用的是哪一种呢

    在使用SpringCloud实现微服务时,经常会碰到前端页面访问多个二级域名的情况,跨域是首先要解决的问题。 解决...

网友评论

      本文标题:Java Web中实现设置多个域名跨域访问

      本文链接:https://www.haomeiwen.com/subject/fdfekxtx.html