SpringBoot解决跨域的五种方案

藏宝库编辑 2024-9-2 18:19:58 20 0 来自 中国
一、同源计谋

同源,就是咱们域名、端标语、ip、接纳的协议都类似,那么我们就是同源的
反之就是差别源的!!!
出于欣赏器的同源计谋限定。同源计谋(Sameoriginpolicy)是一种约定,它是欣赏器最核心也最根本的安全功能,假如缺少了同源计谋,则欣赏器的正常功能大概都会受到影响。可以说Web是构建在同源计谋底子之上的,欣赏器只是针对同源计谋的一种实现。
所以,用最简单的话来说,就是前端可以发哀求给服务器,服务器也可以举行相应,只是由于欣赏器会对哀求头举行判定,所以要么前端设置哀求头,要么后端设置哀求头
二、跨域题目

跨域报错如下:
Access to XMLHttpRequest at 'http://localhost:8080/t1' from origin 'http://localhost:63342' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
test1.html?_ijt=aekdfma33ut4n31cgsohdrjt89:17 {readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
jquery-1.9.1.min.js:5          GET http://localhost:8080/t1 net::ERR_FAILED 200
三、spring boot解决跨域题目

对于 CORS的跨域哀求,重要有以下几种方式可供选择:

  • 返回新的CorsFilter
  • 重写 WebMvcConfigurer
  • 使用注解 @CrossOrigin
  • 手动设置相应头 (HttpServletResponse)
  • 自定web filter 实现跨域
注意:
CorFilter / WebMvConfigurer / @CrossOrigin 须要 SpringMVC 4.2以上版本才支持,对应springBoot 1.3版本以上
上眼前两种方式属于全局 CORS 设置,后两种属于局部 CORS设置。假如使用了局部跨域是会覆盖全局跨域的规则,所以可以通过 @CrossOrigin 注解来举行细粒度更高的跨域资源控制。
着实无论哪种方案,终极目标都是修改相应头,向相应头中添加欣赏器所要求的数据,进而实现跨域
1、使用CorsFilter
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 19:08, Processed in 0.173247 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表