diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java b/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java index 97d591b..81a8863 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/config/FilterConfig.java @@ -27,6 +27,27 @@ public class FilterConfig { private final PlatformSignProperties platformSignProperties; + /** + * 跨域过滤器 + * + * @return + */ + @Bean + public FilterRegistrationBean corsFilterRegistration() { + FilterRegistrationBean registration = new FilterRegistrationBean(); + registration.setDispatcherTypes(DispatcherType.REQUEST); + CorsConfiguration config = new CorsConfiguration(); + config.addAllowedOrigin("*"); + config.addAllowedMethod("*"); + config.addAllowedHeader("*"); + UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); + corsConfigurationSource.registerCorsConfiguration("/**", config); + CorsFilter corsFilter = new CorsFilter(corsConfigurationSource); + registration.setOrder(Integer.MAX_VALUE - 4); + registration.setFilter(corsFilter); + return registration; + } + /** * xss 过滤器 优先级最高 * 包装 XssHttpServletRequestWrapper 解决request只能使用一次 diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java b/tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java index c27ffde..b159f4b 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java @@ -36,14 +36,6 @@ public class WebMvcConfig implements WebMvcConfigurer { "/**/*.woff", "/**/*.ttf"); - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOrigins("*") - .allowCredentials(true) - .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") - .maxAge(36000); - } @Override public void addInterceptors(InterceptorRegistry registry) {