跨域问题
文章目录
前言
在进行前后端分离项目的开发过程中,初学者往往会遇到跨域问题,对此本文进行一个汇总。
一、跨域问题是什么?
跨域问题出于浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能。同源策略会阻止一个域的JavaScript脚本和另一个域的内容进行交互,所谓同源(即指同一个域)就是两个页面具备同样的协议(protocol)、主机(host)和端口号(port)。
如果使用Postman等开发工具进行交互是不会出现跨域问题的,这是浏览器特有的限制。
二、解决方法(三种环境下的配置方法)
1.SpringBoot中添加Cors配置类
在SpringBoot中注入Cors配置类,可根据需求自行设定。
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");//允许任意源
corsConfiguration.addAllowedHeader("*");//任意请求头
corsConfiguration.addAllowedMethod("*");//任意请求方式
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**"