package com.mzl.flower.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 CrosConfig { @Bean public FilterRegistrationBean corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); config.addAllowedMethod("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config); FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source)); //这里设置优先级最高 bean.setOrder(Ordered.HIGHEST_PRECEDENCE); return bean; } // @Configuration // public static class CorsAllowedFilterConfiguration { // @Bean // public FilterRegistrationBean corsAllowedFilterRegistration() { // FilterRegistrationBean registration = new FilterRegistrationBean(); // final Filter securityFilter = corsAllowedFilter(); // registration.setFilter(securityFilter); // registration.addUrlPatterns("/*"); // registration.setName("corsAllowedFilter"); // registration.setOrder(-102); // return registration; // } // // @Bean() // public Filter corsAllowedFilter() { // return new CorsAllowedFilter(); // } // } }