北海二手房信息,英文转换器,择天记电视剧播出时间
要说明cors(cross origin resourse-sharing) 跨站资源共享,就必须先说同源策略。长话短说,同源策略就是向服务端发起请求的时候,以下三项必须与当前浏览器应用一致:域名、端口、协议。用白话说:就是你的应用发送请求不能访问别人的资源,否则浏览器就会限制你。当然也有例外,如:img、srcipt、iframe等资源引用的html标签不受同源策略的限制。
但是我们实际开发中又经常会跨站访问,比如前后端分离的应用是分开部署的,在浏览器看来是两个域。所以同源策略是用来禁止跨域访问的,cors正好相反是根据自己的需求与规则,有限的开放部分资源的共享。
想在spring或spring boot的web环境下实现跨域资源共享,主要有三种实现方式:
这三种实现方式在我的另外一篇文章中已经介绍过,这里就不多做说明了。
当我们的应用使用了spring security之后,我们会发现上面的配置方法全部失效。此时需要在spring security的websecurityconfigureradapter中的configure(httpsecurity http)配置方法,加上http.cors()
配置,第二小节中的配置才会生效。
public class websecurityconfig extends websecurityconfigureradapter { @override protected void configure(httpsecurity http) throws exception { http.cors().and() ... } }
另外spring security为我们提供了一种新的cors规则的配置方法:corsconfigurationsource 。使用这种方法实现的效果等同于注入一个corsfilter过滤器。
@bean corsconfigurationsource corsconfigurationsource() { corsconfiguration configuration = new corsconfiguration(); configuration.setallowedorigins(arrays.aslist("https://example.com")); configuration.setallowedmethods(arrays.aslist("get","post")); urlbasedcorsconfigurationsource source = new urlbasedcorsconfigurationsource(); source.registercorsconfiguration("/**", configuration); return source; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
apollo与springboot集成实现动态刷新配置的教程详解
网友评论