Commit 9258ced6 authored by liqin's avatar liqin 💬

bug fixed

parent baf65df7
//package cn.wisenergy.common.config.cors; package cn.wisenergy.common.config.cors;
//
//import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
//import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.CorsConfiguration;
//import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
//import org.springframework.web.filter.CorsFilter; import org.springframework.web.filter.CorsFilter;
//
///** /**
// * 跨域过滤器设置 * 跨域过滤器设置
// * *
// * @author wyy * @author wyy
// * @date 2019-09-04 14:31 * @date 2019-09-04 14:31
// */ */
//@Configuration @Configuration
//public class CORSFilter { public class CORSFilter {
//
// /** /**
// * 前置跨域设置【过滤器方式先于拦截器生效】 * 前置跨域设置【过滤器方式先于拦截器生效】
// * *
// * @return * @return
// */ */
// @Bean @Bean
// public CorsFilter corsFilter() { public CorsFilter corsFilter() {
// CorsConfiguration config = new CorsConfiguration(); CorsConfiguration config = new CorsConfiguration();
// config.addAllowedOrigin("*"); config.addAllowedOrigin("*");
// config.setAllowCredentials(true); config.setAllowCredentials(true);
// config.addAllowedMethod("*"); config.addAllowedMethod("*");
// config.addAllowedHeader("*"); config.addAllowedHeader("*");
// UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
// configSource.registerCorsConfiguration("/**", config); configSource.registerCorsConfiguration("/**", config);
// return new CorsFilter(configSource); return new CorsFilter(configSource);
// } }
//
//} }
package cn.wisenergy.web.config; //package cn.wisenergy.web.config;
//
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; //import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration; //import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource; //import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter; //import org.springframework.web.filter.CorsFilter;
//
import java.util.Arrays; //import java.util.Arrays;
//
@Configuration //@Configuration
public class GlobalCorsConfig { //public class GlobalCorsConfig {
//
@Value("${cors.url.list:#{null}}") // @Value("${cors.url.list:#{null}}")
private String corsUrlList; // private String corsUrlList;
//
@Bean // @Bean
public CorsFilter corsFilter() { // public CorsFilter corsFilter() {
//1.添加CORS配置信息 // //1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration(); // CorsConfiguration config = new CorsConfiguration();
//2) 允许通过的域,不要写*,否则cookie就无法使用了 // //2) 允许通过的域,不要写*,否则cookie就无法使用了
if (corsUrlList != null && corsUrlList.length() > 1) { // if (corsUrlList != null && corsUrlList.length() > 1) {
config.setAllowedOrigins(Arrays.asList(StringUtils.split(corsUrlList, ","))); // config.setAllowedOrigins(Arrays.asList(StringUtils.split(corsUrlList, ",")));
config.setAllowCredentials(true); // config.setAllowCredentials(true);
} else { // } else {
config.setAllowCredentials(false); // config.setAllowCredentials(false);
config.addAllowedOrigin("*"); // config.addAllowedOrigin("*");
} // }
//
//3) 允许的请求方式 // //3) 允许的请求方式
config.addAllowedMethod("OPTIONS"); // config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("GET"); // config.addAllowedMethod("GET");
config.addAllowedMethod("POST"); // config.addAllowedMethod("POST");
config.addAllowedMethod("PUT"); // config.addAllowedMethod("PUT");
config.addAllowedMethod("DELETE"); // config.addAllowedMethod("DELETE");
//
// 4)允许的头信息 // // 4)允许的头信息
config.addAllowedHeader("*"); // config.addAllowedHeader("*");
//2.添加映射路径,我们拦截一切请求 // //2.添加映射路径,我们拦截一切请求
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); // UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config); // configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter. // //3.返回新的CorsFilter.
return new CorsFilter(configSource); // return new CorsFilter(configSource);
} // }
//
} //}
...@@ -45,6 +45,22 @@ public class MvcConfiguration extends WebMvcConfigurationSupport { ...@@ -45,6 +45,22 @@ public class MvcConfiguration extends WebMvcConfigurationSupport {
@Value("${uploadFile.location}") @Value("${uploadFile.location}")
private String location; private String location;
/**
* 后置跨域支持【当出现跨域请求,此处会放在拦截器最后执行,CORS失效】
*
* @param registry
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedHeaders("*")
.allowedMethods("*")
.allowCredentials(true)
.maxAge(3600);
}
/** /**
* 配置消息转换器:Ali开源的fastJson * 配置消息转换器:Ali开源的fastJson
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment