diff --git a/framework-core/pom.xml b/framework-core/pom.xml index 0570b2d..8fd6f29 100644 --- a/framework-core/pom.xml +++ b/framework-core/pom.xml @@ -5,7 +5,7 @@ com.unionmed unionmed-framework - 0.0.17 + 0.0.18 4.0.0 diff --git a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/MvcConfiguration.java b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/MvcConfiguration.java index ab716e8..ac7def6 100644 --- a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/MvcConfiguration.java +++ b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/MvcConfiguration.java @@ -1,5 +1,6 @@ package com.unionmed.framework.spring.mvc; +import com.unionmed.framework.spring.mvc.filter.CrossFilter; import com.unionmed.framework.spring.mvc.filter.RequestFilterWrapper; import com.unionmed.framework.spring.mvc.response.RequestResponseBodyCryptProperties; import com.unionmed.framework.spring.mvc.response.ResponseBodyProcessor; @@ -63,7 +64,17 @@ public class MvcConfiguration { registration.setFilter(new RequestFilterWrapper(requestResponseBodyCryptProperties)); registration.addUrlPatterns("/*"); registration.setName("repeatRequestFilter"); - registration.setOrder(0); + registration.setOrder(1); + return registration; + } + + @Bean + public FilterRegistrationBean crossFilter() { + FilterRegistrationBean registration = new FilterRegistrationBean(); + registration.setFilter(new CrossFilter()); + registration.addUrlPatterns("/*"); + registration.setName("crossFilter"); + registration.setOrder(-1); return registration; } } diff --git a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/CrossFilter.java b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/CrossFilter.java new file mode 100644 index 0000000..c930a4a --- /dev/null +++ b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/CrossFilter.java @@ -0,0 +1,25 @@ +package com.unionmed.framework.spring.mvc.filter; + +import org.springframework.web.filter.OncePerRequestFilter; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * @author ianChen + * @date 2023/7/5 15:15 + */ +public class CrossFilter extends OncePerRequestFilter { + + @Override + protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException { + httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); + httpServletResponse.setHeader("Access-Control-Allow-Headers", "*"); + httpServletResponse.setHeader("Access-Control-Max-Age", "3600"); + httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE,PUT"); + filterChain.doFilter(httpServletRequest, httpServletResponse); + } +} diff --git a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/RequestFilterWrapper.java b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/RequestFilterWrapper.java index 20dcb49..4e327bc 100644 --- a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/RequestFilterWrapper.java +++ b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/filter/RequestFilterWrapper.java @@ -23,7 +23,6 @@ public class RequestFilterWrapper extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException { - httpServletResponse.addHeader("Access-Control-Allow-Origin", "*"); filterChain.doFilter(new RepeatHttpServletRequestWrapper(requestResponseBodyCryptProperties, httpServletRequest), httpServletResponse); } } diff --git a/framework-orm/pom.xml b/framework-orm/pom.xml index 6b11707..b131dd6 100644 --- a/framework-orm/pom.xml +++ b/framework-orm/pom.xml @@ -5,7 +5,7 @@ unionmed-framework com.unionmed - 0.0.17 + 0.0.18 4.0.0 diff --git a/framework-test/pom.xml b/framework-test/pom.xml index 2c37d0f..bf9ee20 100644 --- a/framework-test/pom.xml +++ b/framework-test/pom.xml @@ -5,7 +5,7 @@ com.unionmed unionmed-framework - 0.0.17 + 0.0.18 4.0.0 diff --git a/pom.xml b/pom.xml index 7a98029..3bffa40 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 4.0.0 com.unionmed unionmed-framework - 0.0.17 + 0.0.18 pom unionmed-framework