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); 
 | 
    } 
 | 
  
 | 
} 
 |