//package cn.wisenergy.web.config;
//
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Value;
//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.Arrays;
//
//@Configuration
//public class GlobalCorsConfig {
//
//    @Value("${cors.url.list:#{null}}")
//    private String corsUrlList;
//
//    @Bean
//    public CorsFilter corsFilter() {
//        //1.添加CORS配置信息
//        CorsConfiguration config = new CorsConfiguration();
//        //2) 允许通过的域,不要写*，否则cookie就无法使用了
//        if (corsUrlList != null && corsUrlList.length() > 1) {
//            config.setAllowedOrigins(Arrays.asList(StringUtils.split(corsUrlList, ",")));
//            config.setAllowCredentials(true);
//        } else {
//            config.setAllowCredentials(false);
//            config.addAllowedOrigin("*");
//        }
//
//        //3) 允许的请求方式
//        config.addAllowedMethod("OPTIONS");
//        config.addAllowedMethod("GET");
//        config.addAllowedMethod("POST");
//        config.addAllowedMethod("PUT");
//        config.addAllowedMethod("DELETE");
//
//        // 4）允许的头信息
//        config.addAllowedHeader("*");
//        //2.添加映射路径，我们拦截一切请求
//        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
//        configSource.registerCorsConfiguration("/**", config);
//        //3.返回新的CorsFilter.
//        return new CorsFilter(configSource);
//    }
//
//}
