Selaa lähdekoodia

跨域访问受限问题处理,增加filter

xiaost 1 vuosi sitten
vanhempi
commit
0390dbc7b4
1 muutettua tiedostoa jossa 38 lisäystä ja 0 poistoa
  1. 38 0
      src/main/java/com/uas/eis/listener/CORSFilter.java

+ 38 - 0
src/main/java/com/uas/eis/listener/CORSFilter.java

@@ -0,0 +1,38 @@
+package com.uas.eis.listener;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Order(1)
+@Configuration
+@WebFilter(urlPatterns = "/*")
+public class CORSFilter implements Filter {
+
+	@Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+    }
+
+    @Override
+    public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException, ServletException {
+        HttpServletRequest request = (HttpServletRequest)req;
+		HttpServletResponse response = (HttpServletResponse) res;
+		response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
+	    response.setHeader("Access-Control-Allow-Credentials", "true");
+	    response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
+	    response.setHeader("Access-Control-Max-Age", "3600");
+	    response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
+		filterChain.doFilter(request, response); 
+    }
+
+    @Override
+    public void destroy() {
+
+    }
+}