package com.doumee.jtt808.web.config; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; 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.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @author yezhihao * https://gitee.com/yezhihao/jt808-server */ //@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { } @Override public void addInterceptors(InterceptorRegistry registry) { } @Override public void addCorsMappings(CorsRegistry registry) { // registry.addMapping("/**").combine(corsConfig()); registry.addMapping("/**").allowedOrigins(CorsConfiguration.ALL) .allowCredentials(true) .allowedMethods(CorsConfiguration.ALL) .maxAge(3600L) .allowedHeaders(CorsConfiguration.ALL); } @Bean public FilterRegistrationBean corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", corsConfig()); FilterRegistrationBean bean = new FilterRegistrationBean<>(new CorsFilter(source)); bean.setOrder(Ordered.HIGHEST_PRECEDENCE); return bean; } @Bean public CorsConfiguration corsConfig() { CorsConfiguration config = new CorsConfiguration(); // config.addAllowedOriginPattern(CorsConfiguration.ALL); config.addAllowedOrigin(CorsConfiguration.ALL); config.addAllowedMethod(CorsConfiguration.ALL); config.addAllowedHeader(CorsConfiguration.ALL); config.setAllowCredentials(true); config.setMaxAge(3600L); return config; } }