package com.jilongda.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 java.util.Collections;
|
|
/**
|
* 实现基本的跨域请求
|
* 2.4.0 通多配置
|
*
|
* @author xiaochen
|
* @Override public void addCorsMappings(CorsRegistry registry) {
|
* registry.addMapping("/**")
|
* // SpringBoot2.4.0 [allowedOriginPatterns]代替[allowedOrigins]
|
* .allowedOriginPatterns("*")
|
* .allowedMethods("*")
|
* .maxAge(3600)
|
* .allowCredentials(true);
|
* }
|
*/
|
@Configuration
|
public class CorsConfig {
|
private CorsConfiguration buildConfig() {
|
CorsConfiguration corsConfiguration = new CorsConfiguration();
|
//1.允许任何来源
|
corsConfiguration.setAllowedOriginPatterns(Collections.singletonList("*"));
|
//2.允许任何请求头
|
corsConfiguration.addAllowedHeader(CorsConfiguration.ALL);
|
//3.允许任何方法
|
corsConfiguration.addAllowedMethod(CorsConfiguration.ALL);
|
//4.允许凭证
|
corsConfiguration.setAllowCredentials(true);
|
|
|
|
|
return corsConfiguration;
|
}
|
|
@Bean
|
public CorsFilter corsFilter() {
|
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
// 对接口配置跨域设置
|
// source.registerCorsConfiguration("/v2/api-docs/**", buildConfig());
|
source.registerCorsConfiguration("/**", buildConfig());
|
return new CorsFilter(source);
|
}
|
|
}
|