|
@@ -0,0 +1,41 @@
|
|
|
+package com.persagy.ibms.data.sdk.service;
|
|
|
+
|
|
|
+import org.springframework.core.annotation.Order;
|
|
|
+
|
|
|
+import javax.servlet.*;
|
|
|
+import javax.servlet.annotation.WebFilter;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
+@Order(1)
|
|
|
+@WebFilter
|
|
|
+public class CrossOriginFilter implements Filter {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void init(FilterConfig filterConfig) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
|
|
|
+ throws IOException, ServletException {
|
|
|
+ HttpServletResponse response = (HttpServletResponse) servletResponse;
|
|
|
+ // 表示允许 origin 发起跨域请求。
|
|
|
+ response.addHeader("Access-Control-Allow-Origin", "*");
|
|
|
+ // GET,POST,OPTIONS,PUT,DELETE 表示允许跨域请求的方法
|
|
|
+ response.addHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
|
|
|
+ // 支持所有自定义头
|
|
|
+ response.addHeader("Access-Control-Allow-Headers", "*");
|
|
|
+ // 表示在3600秒内不需要再发送预校验请求
|
|
|
+ response.addHeader("Access-Control-Max-Age", "3600");
|
|
|
+ // 允许cookie
|
|
|
+ response.addHeader("Access-Control-Allow-Credentials", "true");
|
|
|
+
|
|
|
+ filterChain.doFilter(servletRequest, response);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void destroy() {
|
|
|
+
|
|
|
+ }
|
|
|
+}
|