package com.moral.api.config.Interceptor;
|
|
import org.springframework.boot.SpringBootConfiguration;
|
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.CorsRegistry;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
/**
|
* @ClassName CorsConfig
|
* @Description TODO
|
* @Author @lizijie
|
* @Date 2023-08-23 13:27
|
* @Version 1.0
|
*/
|
@Configuration
|
public class CorsConfig {
|
|
@Bean
|
public CorsFilter corsFilter() {
|
|
CorsConfiguration config = new CorsConfiguration();
|
//开放哪些ip、端口、域名的访问权限,星号表示开放所有域
|
config.addAllowedOrigin("*");
|
//是否允许发送Cookie信息
|
config.setAllowCredentials(true);
|
//开放哪些Http方法,允许跨域访问
|
config.addAllowedMethod("*");
|
//允许HTTP请求中的携带哪些Header信息
|
config.addAllowedHeader("*");
|
//暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
|
// config.addExposedHeader("*");
|
|
config.addExposedHeader("Content-Type");
|
config.addExposedHeader( "X-Requested-With");
|
config.addExposedHeader("accept");
|
config.addExposedHeader("Origin");
|
config.addExposedHeader( "Access-Control-Request-Method");
|
config.addExposedHeader("Access-Control-Request-Headers");
|
|
//添加映射路径,“/**”表示对所有的路径实行全局跨域访问权限的设置
|
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
|
configSource.registerCorsConfiguration("/**", config);
|
|
return new CorsFilter(configSource);
|
}
|
|
}
|