Commit ed3edaf7552f86cb3c14dfe09fab356a98790c6f
1 parent
5f993c6a
fix:【framework】修复 CorsFilter 因执行顺序影响到跨域配置不生效问题
Showing
1 changed file
with
2 additions
and
3 deletions
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
| @@ -9,7 +9,6 @@ import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; | @@ -9,7 +9,6 @@ import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; | ||
| 9 | import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; | 9 | import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; |
| 10 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; | 10 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 11 | import com.google.common.collect.Maps; | 11 | import com.google.common.collect.Maps; |
| 12 | -import jakarta.annotation.Resource; | ||
| 13 | import jakarta.servlet.Filter; | 12 | import jakarta.servlet.Filter; |
| 14 | import org.springframework.beans.factory.annotation.Value; | 13 | import org.springframework.beans.factory.annotation.Value; |
| 15 | import org.springframework.boot.autoconfigure.AutoConfiguration; | 14 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| @@ -21,14 +20,13 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties | @@ -21,14 +20,13 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties | ||
| 21 | import org.springframework.boot.web.client.RestTemplateBuilder; | 20 | import org.springframework.boot.web.client.RestTemplateBuilder; |
| 22 | import org.springframework.boot.web.servlet.FilterRegistrationBean; | 21 | import org.springframework.boot.web.servlet.FilterRegistrationBean; |
| 23 | import org.springframework.context.annotation.Bean; | 22 | import org.springframework.context.annotation.Bean; |
| 23 | +import org.springframework.core.annotation.Order; | ||
| 24 | import org.springframework.util.AntPathMatcher; | 24 | import org.springframework.util.AntPathMatcher; |
| 25 | import org.springframework.web.bind.annotation.RestController; | 25 | import org.springframework.web.bind.annotation.RestController; |
| 26 | import org.springframework.web.client.RestTemplate; | 26 | import org.springframework.web.client.RestTemplate; |
| 27 | import org.springframework.web.cors.CorsConfiguration; | 27 | import org.springframework.web.cors.CorsConfiguration; |
| 28 | import org.springframework.web.cors.UrlBasedCorsConfigurationSource; | 28 | import org.springframework.web.cors.UrlBasedCorsConfigurationSource; |
| 29 | import org.springframework.web.filter.CorsFilter; | 29 | import org.springframework.web.filter.CorsFilter; |
| 30 | -import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; | ||
| 31 | -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | ||
| 32 | import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; | 30 | import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; |
| 33 | 31 | ||
| 34 | import java.util.Map; | 32 | import java.util.Map; |
| @@ -106,6 +104,7 @@ public class YudaoWebAutoConfiguration { | @@ -106,6 +104,7 @@ public class YudaoWebAutoConfiguration { | ||
| 106 | * 创建 CorsFilter Bean,解决跨域问题 | 104 | * 创建 CorsFilter Bean,解决跨域问题 |
| 107 | */ | 105 | */ |
| 108 | @Bean | 106 | @Bean |
| 107 | + @Order(value = WebFilterOrderEnum.CORS_FILTER) // 特殊:修复因执行顺序影响到跨域配置不生效问题 | ||
| 109 | public FilterRegistrationBean<CorsFilter> corsFilterBean() { | 108 | public FilterRegistrationBean<CorsFilter> corsFilterBean() { |
| 110 | // 创建 CorsConfiguration 对象 | 109 | // 创建 CorsConfiguration 对象 |
| 111 | CorsConfiguration config = new CorsConfiguration(); | 110 | CorsConfiguration config = new CorsConfiguration(); |