Spring Boot 跨域访问

这篇具有很好参考价值的文章主要介绍了Spring Boot 跨域访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 跨域访问

出于安全的考虑,浏览器会禁止 Ajax 访问不同域的地址,在现如今微服务横行的年代,跨域访问是非常常见的。W3C 的 CORS (Cross-origin-resource-sharing) 规范中也已经允许跨域访问, 并被主流浏览器所支持,它们包括:

  • Chrome 3+;
  • Firefox 3.5+;
  • Opera 12+;
  • Safari 4+;
  • IE 8+;

如何在 Spring Boot 中配置跨域访问呢?

Spring Boot 提供了对 CORS 的支持,您可以实现 addCorsMappings 接口来添加规则来允许跨域访问:

package site.exception.config;

import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
* @time 下午8:36
* @discription
**/
public class CORSConfig extends WebMvcConfigurerAdapter {

@Override
public void addCorsMappings(CorsRegistry registry) {
// 允许所有跨域访问
registry.addMapping("/**");
}

}

/** 允许所有域名都能够跨域访问,下面看看更为精细的控制:

package site.exception.config;

import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
* @time 下午8:36
* @discription
**/
public class CORSConfig extends WebMvcConfigurerAdapter {

@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://www.baidu.com")
.allowedMethods("POST", "GET");
}

}

通过上面的配置,只允许来自 www.exception.site 的跨域访问,并且限定只能对 /api 下的所有接口进行跨域访问,同时只能访问 POSTGET 方法。

跨域访问的原理

跨域访问的原理其实很简单,当发起跨域请求的时候,浏览器会对请求域返回的 HTTP 头进行检查,如果 Access-Control-Allow-Origin 包含了自身域,则表示允许访问,否者报错。这也正是上述代码中 allowedOrigins() 方法的作用。文章来源地址https://www.toymoban.com/news/detail-711674.html

到了这里,关于Spring Boot 跨域访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • github访问不进去,浏览器证书不安全,访问失败,证书失效,证书颁发者为VMware,谷歌浏览器小bug

    你的电脑不信任此网站的安全证书、访问404。证书失效,颁发者是Vmware. edge://net-internals/#hsts 先查询是否有该网站 删除该网站 清楚浏览器缓存 再次查询,如果还有就是删除失败, 方法失效! 按下 win+r 调出运行窗口,输入 certmgr.msc ,点击确定,找不到这个证书。 导出这个证书

    2024年02月13日
    浏览(39)
  • Linux 本地zabbix结合内网穿透工具实现安全远程访问浏览器

    Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域网访问,对于远程访问

    2024年02月05日
    浏览(37)
  • 快速解决浏览器访问http或者不安全https 地址栏出现不安全或者Not secure

    在2018 年开始 google 浏览器 开始对 http 所有的网址都做出了 不安全的提示 ,如  这样的话 让很多 http的网址显得很“不安全” 在对外展示的时候,不禁给客户留下不好的印象 解决此问题的 正规方案当然是 改成 浏览器推荐的 https ,有正规的域名,但是本方案不是本文重点,

    2024年02月11日
    浏览(41)
  • ERR_UNSAFE_PORT浏览器安全问题导致无法访问的解决方案

    配置好web的https协议的服务器后,使用浏览器访问服务器的时候出现ERR_UNSAFE_PORT无法访问,如下图提示。 img src=“https://juejin.cn/ “点击并拖拽以移动”” style=“margin: auto” / 经过抓取报文分析,并没有抓到访问服务器的报文,定位发现是浏览器的保护机制自动拦截了请求,和

    2024年02月03日
    浏览(75)
  • 浏览器跨域

    生活中的事跟跨域有什么关系,那必须有。 跨域的产生是浏览器的安全机制引起的,只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求,但要看远程服务器脸色,他没授权,浏览器这个老六就给拦截了,不能用这个结果,像极了游戏机让买不让玩。 跨域(Cr

    2024年02月10日
    浏览(25)
  • 浏览器跨域问题

    违背 同源策略 就是跨域。 同源策略 : 网页的url 和 该网页请求的url 的协议、域名、端口必须保持一致。 协议、域名、端口必须保持一致. 同源策略存在的原因: 保护用户隐私和防范网络攻击(https://editor.csdn.net/md?not_checkout=1spm=1011.2415.3001.6217articleId=132763789) 即如果网页请求的

    2024年02月09日
    浏览(29)
  • 浏览器:跨域及解决方法

    一、为什么会出现跨域问题 出于浏览器的 同源策略 限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能不能使用。可以说Web是构建在同源策略基础之上的, 浏览器只是针对同源策略的一种实现 。

    2024年02月03日
    浏览(27)
  • 浏览器跨域的配置

    目录 1、前言 2、同源策略 3、跨源数据存储访问 4、浏览器跨域设置 4.1 版本号(49.x.x.x.x)之前的跨域设置 4.2 版本号(49.x.x.x.x)之后的跨域设置 5、批处理跨域设置 5.1 windows 操作系统。 5.2 Mac 操作系统 在我们进行前端开发的时候,我们请求的后端的接口可能是在不同的域名

    2024年02月07日
    浏览(27)
  • 浏览器的同源策略 - 跨域问题

    跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制: 无法访问其他源下的网页的 Cookies,Storage等; 无法访问其他源下的DOM对象和 JS 对象; 无法使用 Ajax 向其他源发送请求(除非其他源允许)

    2024年02月15日
    浏览(30)
  • Flutter如何支持浏览器跨域

    当使用 flutter 构建 web 项目,直接运行在 chrome 浏览器发出网络请求会发生跨域错误  strict-origin-when-cross-origin(CROS) ,比如在 dart 代码直接用  dio.get(\\\"https://www.yunfuit.com\\\") ,dio 会报错,在 chrome 的 DevTools 中会发现 CROS 错误。 解决办法: 在 flutterbincache 删除 flutter_tools.stamp

    2024年02月17日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包