配置文件配置如下 内网配置,限定域名
```java
######################跨域配置############################
cors:
allow:
ips: xxx.com,xxx.com
跨域地址配置
@Value("${cors.allow.ips}")
String allowIps;
Bean注入
@Bean
public CorsFilter corsFilter() {
var corsConfig = new CorsConfiguration();
String[] allowDomains = allowIps.split(",");
corsConfig.setAllowedOrigins(Arrays.asList(allowDomains));
//是否发送Cookie信息
corsConfig.setAllowCredentials(true);
//允许的请求方式, 可以配置到配置中心
List<String> allowedMethods = new ArrayList<>();
allowedMethods.add("OPTIONS");
allowedMethods.add("HEAD");
allowedMethods.add("GET");
allowedMethods.add("PUT");
allowedMethods.add("POST");
allowedMethods.add("DELETE");
allowedMethods.add("PATCH");
corsConfig.setAllowedMethods(allowedMethods);
corsConfig.addAllowedOrigin("*");
//允许的头信息
corsConfig.addAllowedHeader("*");
//添加映射路径,/**: 拦截请求
var configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", corsConfig);
return new CorsFilter(configSource);
}
互联网跨域配置代码如下,简单解决跨域问题
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author jiazm3
* @date 2021/12/13 11:25
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOriginPatterns("*")
.allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
.allowCredentials(true).maxAge(3600);
}
}