跨域是指一个域下的文档或脚本试图去请求另外一个域下的资源,这里跨域是广义的。web
其实咱们一般所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。ajax
同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,若是缺乏了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即使两个不一样的域名。spring
url跨域 |
说明 | 是否容许通讯 |
http://www.domain.com/a.js浏览器 http://www.domain.com/b.js安全 http://www.domain.com/lab/c.jscors |
同一域名,不一样文件或路径 | 容许 |
http://www.domain.com:8000/a.jsdom http://www.domain.com/b.jsurl |
同一域名,不一样端口 | 不容许 |
http://www.domain.com/a.jsspa https://www.domain.com/b.js |
同一域名,不一样协议 | 不容许 |
http://www.domain.com/a.js http://192.168.4.12/b.js |
域名和域名对应相同ip | 不容许 |
http://www.domain.com/a.js http://x.domain.com/b.js http://domain.com/c.js |
主域相同,子域不一样 | 不容许 |
http://www.domain1.com/a.js http://www.domain2.com/a.js |
不一样域名 | 不容许 |
SpringBoot新增WebMvcConfiguration类
package com.yhzy.zytx.common.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @ClassName WebMvcConfiguration * @Description 跨域请求处理 * @Author 天生傲骨、怎能屈服 * @Date 2019/5/31 16:19 * @Version 1.0 */ @Configuration public class WebMvcConfiguration implements WebMvcConfigurer { @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource(); final CorsConfiguration corsConfiguration = new CorsConfiguration(); /*是否容许请求带有验证信息*/ corsConfiguration.setAllowCredentials(true); /*容许访问的客户端域名*/ corsConfiguration.addAllowedOrigin("*"); /*容许服务端访问的客户端请求头*/ corsConfiguration.addAllowedHeader("*"); /*容许访问的方法名,GET POST等*/ corsConfiguration.addAllowedMethod("*"); urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(urlBasedCorsConfigurationSource); } }
注:类上要加@Configuration注解
这样就OK了,超简单,感谢各位大佬阅读,不喜勿喷!!!