|
|
@@ -0,0 +1,48 @@
|
|
|
+package com.seecoder.BlueWhale.Configure;
|
|
|
+
|
|
|
+import org.springframework.core.Ordered;
|
|
|
+import org.springframework.core.annotation.Order;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import javax.servlet.Filter;
|
|
|
+import javax.servlet.FilterChain;
|
|
|
+import javax.servlet.FilterConfig;
|
|
|
+import javax.servlet.ServletException;
|
|
|
+import javax.servlet.ServletRequest;
|
|
|
+import javax.servlet.ServletResponse;
|
|
|
+import javax.servlet.annotation.WebFilter;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Author: DingXiaoyu
|
|
|
+ * @Date: 19:17 2023/12/5
|
|
|
+ * 在SpringBoot过滤器中配置跨域,
|
|
|
+ * 跨域配置不能和拦截器写一起,
|
|
|
+ * 会造成冲突。
|
|
|
+*/
|
|
|
+@Component
|
|
|
+@Order(Ordered.HIGHEST_PRECEDENCE)
|
|
|
+@WebFilter("/*")
|
|
|
+public class CorsFilter implements Filter {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
|
|
|
+ throws IOException, ServletException {
|
|
|
+ HttpServletResponse response = (HttpServletResponse) res;
|
|
|
+ response.setHeader("Access-Control-Allow-Origin", "*");
|
|
|
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE");
|
|
|
+ response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type");
|
|
|
+ response.setHeader("Access-Control-Max-Age", "3600");
|
|
|
+
|
|
|
+ chain.doFilter(req, res);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void init(FilterConfig filterConfig) {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void destroy() {
|
|
|
+ }
|
|
|
+}
|