文档章节

No 'Access-Control-Allow-Origin' header is present on the requested resource SpringBoot 跨域

yl-yue
 yl-yue
发布于 2019/10/24 17:58
字数 455
阅读 21
收藏 0

跨域说明

前后端分离下,跨域已是一个老生常谈的话题,但很多小伙伴还是经常面临这样的问题,且解决方案多变多样。这里介绍一种简单直接的后端解决方案。

解决跨域(服务端)

/**
 * CorsConfig-跨域
 * 
 * @author	ylyue
 * @since	2018年11月26日
 */
@Slf4j
@Configuration
public class CorsFilterConfig {
	
	// CorsConfig-跨域
	
	@Bean
	@ConditionalOnMissingBean
	public CorsFilter corsFilter() {
		final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
		final CorsConfiguration config = new CorsConfiguration();
		
		config.setAllowCredentials(true);
		config.setAllowedHeaders(Arrays.asList("*"));
		config.setAllowedMethods(Arrays.asList("*"));
		config.setAllowedOrigins(Arrays.asList("*"));
		config.setMaxAge(3600L);
		
		// 设置response允许暴露的Headers
//		config.setExposedHeaders(exposedHeaders);
//		config.addExposedHeader("token");
		
		source.registerCorsConfiguration("/**", config);
		
		log.info("【初始化配置-跨域】默认任何情况下都允许跨域访问 ... 已初始化完毕。");
		return new CorsFilter(source);
	}
	
}

基于yue-library解决跨域

上述代码就是从yue-library中摘出来的,所以基于yue-library的项目默认已解决跨域等问题。yue-library是SpringBoot的一个增强库,引入项目依赖即可解决跨域

maven项目,在pom.xml文件中添加如下一段代码,并将${version}替换为对应版本号:maven-central

<parent>
	<groupId>ai.ylyue</groupId>
	<artifactId>yue-library-dependencies</artifactId>
	<version>${version}</version>
</parent>

随后引入所需要的模块,如基础库:yue-library-base

<dependencies>
	<dependency>
		<groupId>ai.ylyue</groupId>
		<artifactId>yue-library-base</artifactId>
	</dependency>
	...
</dependencies>

点击快速了解yue-library

结语

跨域问题建议服务端解决即可,没必要开启跨域安全访问限制,他也只能阻止一些浏览器中的JS脚本注入,并不能做到真正的安全访问限制。有问题欢迎在下方留言交流...

© 著作权归作者所有

yl-yue

yl-yue

粉丝 10
博文 3
码字总数 1500
作品 1
渝北
架构师
私信 提问
加载中

评论(0)

springboot的跨域访问

处理 No 'Access-Control-Allow-Origin' header is present on the requested resource 问题 处理 No 'Access-Control-Allow-Origin' header is present on the requested resource 问题 在开......

开源中国首席碉堡了
2019/06/13
55
0
springboot系列六 cors跨域支持

CORS理解 cors的请求类型 来自 CORS简介(作者 loveis715) 简单请求(Simple Request) 预检请求(Preflighted Request) 带凭证的请求(Requests with Credential) springboot的cors支持 场景 代码...

yimingkeji
2018/11/28
1.8K
0
nginx 指定多个域名跨域请求配置

引子 一般来说,通过js请求非本站网址的地址会提示跨域问题,如下内容:Failed to load http://www.xxxx.com/xxxx: No 'Access-Control-Allow-Origin' header is present on the requested ......

yzChen-
2017/11/15
6.7K
0
三级域名如何开放跨域访问权限

现将域名:a.b.c.com通过rewrite,重定向至d.c.com,出现跨域访问错误,提示XMLHttpRequest cannot load http://a.b.c.com/.... No 'Access-Control-Allow-Origin' header is present on th......

cmy00cmy
2016/12/18
838
2
SpringMVC跨域配置以及权限控制拦截跨域请求时的问题解决

背景 最近公司开始推行前后端分离的架构,于是不可避免的引入了跨域的问题,跨域的概念可以参考大佬的博客,这里就不再赘述了。 作为Java最流行框架之一的Spring其实已经帮我们写好了很多代码...

Iceberg_XTY
2018/09/29
1.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

1核2G云服务哪家便宜?

前言: 又到一年续费时,我们来盘点哪些云厂商新手活动给力?有人说我又不是新手,有啥用?你要知道你作为家里唯一一位程序员,有强大的家庭后盾,比如爸爸妈妈爷爷奶奶叔叔阿姨......... 不过...

王念博客
17分钟前
218
1
JavaScript 箭头函数:适用与不适用场景

JavaScript 箭头函数:适用与不适用场景 现代 JavaScript 中最引人注目的功能之一是引入了箭头函数,用 => 来标识。 这种函数有两大优点 – 非常简洁的语法,和更直观的作用域和 this的绑定。...

王囧草
26分钟前
46
0
Docker快速入门

1 几个概念 Docker可以把开发的软件代码以及软件所依赖的所有运行时环境、依赖类库都打包成一个容器镜像,因此使用docker打包软件可以让程序员开发的程序运行在各种不同的计算机硬件环境中。...

即将秃头的Java程序员
27分钟前
68
0
Zookeeper-03-权限管理

Zookeeper-03-权限管理 用的不多,暂时先不整理了

moon888
28分钟前
36
0
渲染学习笔记——GPU应用阶段

1.GPU流水线 注:绿色可编程,橙色可控不可编程,红色完全不可控 2.顶点着色器 顶点着色器计算速度快于片元着色器,所以很多中间数据在顶点着色器计算。 3.裁剪 4.屏幕映射 5.三角形 6.片元着...

myctrd
34分钟前
61
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部