通过Filter解决跨域问题,可以跨多个域,域可以通过@Value注解取

跨域中不同的域指的是“协议+IP+端口”,只要其中一个不相同就要跨域访问,为了安全,浏览器对于跨域默认是禁止访问的。现在很多应用的客户端和服务端是分开的,那么如何来让处于不同域的客户端和服务端实现跨域访问呢,而且客户端还可能不止一个,那么又如何实现多客户端跨域访问一个服务端呢?

本文的项目默认使用Maven构建,并使用Spring Security实现安全,首先在src/main/resources目录建properties文件,在配置文件中输入Access-Control-Allow-Origin=http://192.168.1.1,http://192.168.1.2,http://192.168.1.3,代表客户端的三个域。(站点必须带"http://"还有端口号,这里使用默认端口号80,因此可以省略)

1、通过@Value注解从properties文件取字符串数组

建一个类,并使用@Component注解标注类,属性适用@Value注解,注意引用org.springframework.beans包。

@Component
public class MyFilter {

	@Value("${Access-Control-Allow-Origin:}")// 这里的冒号加与不加感觉没区别
	String[] originProperties; // 这里竟然可以直接以数组接收以逗号分隔的多个属性

}

这样就可以直接得到客户端来源域的数组。

有的时候@Value取不到值

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值