package com.yuanchu.limslaboratory.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; @Configuration public class MyCorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); // 1 设置访问源地址 corsConfiguration.addAllowedOrigin("*"); // 2 设置访问源请求头 corsConfiguration.addAllowedHeader("*"); // 3 设置访问源请求方法 corsConfiguration.addAllowedMethod("*"); // 4 暴露哪些头部信息 // corsConfiguration.addExposedHeader(JwtConstant.HEADER); return corsConfiguration; } @Bean public FilterRegistrationBean corsFilter() { // log.info("跨域设置。。。。"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); // 5 对接口配置跨域设置 source.registerCorsConfiguration("/**", buildConfig()); //有多个filter时此处设置改CorsFilter的优先执行顺序 FilterRegistrationBean bean = new FilterRegistrationBean<>(new CorsFilter(source)); bean.setOrder(Ordered.HIGHEST_PRECEDENCE); return bean; } }