定义:跨域是指从一个域名的网页去请求另一个域名的资源
1.原由
公司内部有多个不同的子域,比如一个是location.company.com ,而应用是放在app.company.com , 这时想从 app.company.com去访问 location.company.com 的资源就属于跨域
本人是springboot菜鸟,但是做测试框架后端需要使用Springboot和前端对接,出现跨域问题,需要设置后端Response的Header.走了不少坑,在这总结一下以备以后使用
2.使用场景
浏览器默认不允许跨域访问,包括我们平时ajax也是限制跨域访问的。
产生跨域访问的情况主要是因为请求的发起者与请求的接受者1、域名不同;2、端口号不同
如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题
3.解决方案
通过设置Access-Control-Allow-Origin来实现跨域访问
4.具体解决
刚开始使用http://www.jianshu.com/p/f2060a6d6e3b设置,但是由于我们使用的spring版本的问题,CorsConfiguration类需要4.2.7版本。和我们使用的spring里面版本不一致,导致版本冲突或者各种问题
@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); // 1 corsConfiguration.addAllowedHeader("*"); // 2 corsConfiguration.addAllowedMethod("*"); // 3 return corsConfiguration; } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); // 4 return new CorsFilter(source); }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何进行 C#调用 Java 的性能优化?有哪些建议?(C#调用Java的性能优化建议 )
- 【JavaScript】ES6 中class定义类
- 从MongoDB更换开源许可协议谈开源软件法律风险
- 听说,人类有史以来第一张黑洞照片的原始数据没有备份?!
- Java 中常见的加密方式有哪些?(java中加密方式有哪些)
- Java 中如何高效地将 Map 转换为 JSON 字符串?(最佳实践分享)(Java Map转JSON字符串的最佳实践)
- “携号转网”已正式开放!网友吐槽:运营商套路满满!
- 一份完整的阿里云Redis开发规范,值得收藏!
- 5款适合程序员的开源字体
- Java 栈内存溢出的原因及解决办法有哪些?(Java栈内存溢出的原因与解决方法有哪些)