spring boot跨域问题
跨域是指不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容,如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。
什么是同一个域?同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。也就是对于前后端分离来说,一定会有跨域问题,因为不是同一个服务,要不不同ip,要不不同端口。
如何在spring boot中解决这个问题,只需添加下面配置即可:
1 import org.springframework.context.annotation.Bean; 2 import org.springframework.context.annotation.Configuration; 3 import org.springframework.web.cors.CorsConfiguration; 4 import org.springframework.web.cors.UrlBasedCorsConfigurationSource; 5 import org.springframework.web.filter.CorsFilter; 6 7 /** 8 * 跨域配置 9 */ 10 @Configuration 11 public class CorsConfig { 12 // 设置允许跨域的源 13 private static String[] originsVal = new String[]{ 14 "127.0.0.1:8080", 15 "localhost:8080", 16 "google.com", 17 "mail.google.com" 18 }; 19 20 /** 21 * 跨域过滤器 22 * 23 * @return 24 */ 25 @Bean 26 public CorsFilter corsFilter() { 27 UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); 28 CorsConfiguration corsConfiguration = new CorsConfiguration(); 29 this.addAllowedOrigins(corsConfiguration); 30 corsConfiguration.addAllowedHeader("*"); //添加允许访问的头 31 corsConfiguration.addAllowedMethod("*"); //添加允许访问的方法 32 corsConfiguration.addAllowedOrigin("*"); //添加允许访问的源,这里的*已经包含了originsVal数组里的源信息 33 source.registerCorsConfiguration("/**", corsConfiguration); 34 return new CorsFilter(source); 35 } 36 37 private void addAllowedOrigins(CorsConfiguration corsConfiguration) { 38 for (String origin : originsVal) { 39 corsConfiguration.addAllowedOrigin("http://" + origin); 40 corsConfiguration.addAllowedOrigin("https://" + origin); 41 } 42 } 43 }
转载于:https://www.cnblogs.com/Qsunshine/p/10449689.html
spring boot跨域问题相关推荐
- 本地Vue前端请求本地Spring Boot跨域问题(CROS错误)
一.Vue前端 请求的url为 : GET /WebServer/home/get-user-info?id=1 二.Spring Boot后端 是一个Get请求的RestFul接口地址,且后端应用的 ...
- 实战系列-Spring Boot跨域解决方案
导语 在实际工作开发中经常会遇到跨域请求,这个时候就需要前后端来共同协调来解决问题,那么在Spring Boot中怎么解决跨域请求问题呢?下面就来看看 什么是跨域 为了保证浏览器的安全,不同源 ...
- webmvcconfigurer配置跨域_为什么加了 Spring Security 会导致 Spring Boot 跨域失效呢?...
点击上方 IT牧场 ,选择 置顶或者星标 技术干货每日送达 作者:欧阳我去 链接:https://segmentfault.com/a/1190000019485883 作为一个后端开发,我们经常遇到 ...
- spring boot 跨域请求_SpringBoot 系列教程 web 篇之自定义请求匹配条件 RequestCondition...
191222-SpringBoot 系列教程 web 篇之自定义请求匹配条件 RequestCondition 在 spring mvc 中,我们知道用户发起的请求可以通过 url 匹配到我们通过@R ...
- Spring Boot跨域解决方案
一.什么是跨域 为保证浏览器的安全,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,这称之为同源策略,如果一个请求地址里的协议.域名.端口号都相同,就属于同源.依据浏览器同源策略,非同源脚 ...
- kuayu react_React+Spring实现跨域问题的完美解决方法
最近小编在学习react,在学习过程中遇到React+Spring实现跨域问题,下面小编记录了整个问题过程,给大家做个参考. react 跨域访问后台,默认是有跨域问题,并且火弧和谷歌浏览器,对跨域问 ...
- react+spring 记录跨域问题的解决方法
react+spring 记录跨域问题的解决方法 参考文章: (1)react+spring 记录跨域问题的解决方法 (2)https://www.cnblogs.com/cq-jiang/p/954 ...
- Spring Security跨域问题解决
前文介绍了:Spring 处理跨域问题的三种方案 现在来看看 Spring Security 的跨域问题解决方案,共有三种方案.(摘自<深入浅出Spring Security>) 在实际项 ...
- 11.Spring security跨域问题
文章目录 *跨域问题* *11.1什么是CORS* *11.2Spring处理方案* *11.2.1`@CrossOrigin`* *11.2.2`addCorsMappings`* *11.2.3` ...
最新文章
- 推荐一款 Nginx 可视化配置神器
- Kafka如何在千万级别时优化JVM GC问题?
- python高阶函数的使用
- go mysql 查询数据_MySQL常用语句之查询数据-Go语言中文社区
- matlab简单分析信号调制解调
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_13_使用字节流读取中文的问题...
- visio 2010 激活方法
- SubSonic使用技巧
- 数学建模(一)—— 人口增长模型的确定
- 计算机分区无法删除,电脑硬盘分区无法修改的解决方法分析
- 省钱又省时间的买书方法
- html svg 线条动画,HTML5 SVG简单的动态绘制轮廓线条动画插件
- 32位计算机的内存限额,32位系统支持多大内存 如何完全使用32位4G内存
- Android Alarm闹钟
- 支付宝免费领取7天优酷黄金会员 1.88元购买1个月优酷黄金会员
- 我在哪?要到哪里去?怎么去?
- 车载服务器作用,穿针引线谈铁路机车车载系统服务器
- String.prototype.matchAll 正则一些常用方法
- sql server存储过程练习
- 取之盈:html网页音乐代码大全
热门文章
- cj搜索算法-魔版(打表术失败总结)
- .Net平台Winform两个ComboBox控件绑定同一个数据源
- [导入]24小时第六季 剧情
- 给出一种符号表的组织方式和结构设计,要考虑数组类型和函数(不得与课件上的雷同)
- winform_界面美化设计_显示/隐藏侧边栏
- linux 重新分区挂载,Linux:挂载磁盘分区,linux已挂载磁盘重新分区
- python列表输入不加逗号_用python打印不带括号或逗号的列表
- 【2020/6/24整理版】利用csi tool获取csi数据并进行数据解析----适合初学的小白
- python开源报表系统_流程设计器、表单设计器和简单报表管理开源OA系统smart-web...
- 835 由于安全层无法对远程计算机进行身份验证_干货 | 看黑客都是这样远程桌面安全设置...