|
@@ -1,62 +0,0 @@
|
|
|
-package com.fdkankan.tk.config;
|
|
|
-
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.boot.web.servlet.ServletComponentScan;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-import sun.rmi.runtime.Log;
|
|
|
-
|
|
|
-import javax.servlet.*;
|
|
|
-import javax.servlet.annotation.WebFilter;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.IOException;
|
|
|
-
|
|
|
-
|
|
|
-//@Component("originFilter")
|
|
|
-//@ServletComponentScan
|
|
|
-//@WebFilter(urlPatterns = "/*", filterName = "shiroLoginFilter")
|
|
|
-@Slf4j
|
|
|
-public class OriginFilter implements Filter {
|
|
|
-
|
|
|
- private FilterConfig config = null;
|
|
|
-
|
|
|
- @Override
|
|
|
- public void init(FilterConfig config) throws ServletException {
|
|
|
- this.config = config;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void destroy() {
|
|
|
- this.config = null;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
|
|
-
|
|
|
- HttpServletRequest request = (HttpServletRequest) servletRequest;
|
|
|
- HttpServletResponse response = (HttpServletResponse) servletResponse;
|
|
|
- response.setHeader("x-frame-options", "SAMEORIGIN");
|
|
|
- // 不使用*,自动适配跨域域名,避免携带Cookie时失效
|
|
|
- response.setHeader("Access-Control-Allow-Origin", "*");
|
|
|
- // 自适应所有自定义头
|
|
|
- String headers = request.getHeader("Access-Control-Request-Headers");
|
|
|
- if(StringUtils.isNotBlank(headers)) {
|
|
|
- response.setHeader("Access-Control-Allow-Headers", headers);
|
|
|
- response.setHeader("Access-Control-Expose-Headers", headers);
|
|
|
- }
|
|
|
- // 允许跨域的请求方法类型
|
|
|
- response.setHeader("Access-Control-Allow-Methods", "*");
|
|
|
- // 预检命令(OPTIONS)缓存时间,单位:秒
|
|
|
- response.setHeader("Access-Control-Max-Age", "3600");
|
|
|
- // 明确许可客户端发送Cookie,不允许删除字段即可
|
|
|
- response.setHeader("Access-Control-Allow-Credentials", "true");
|
|
|
- if (request.getMethod().equals("OPTIONS")) {
|
|
|
- response.setStatus(200);
|
|
|
- response.getWriter().write("OPTIONS returns OK");
|
|
|
- return;
|
|
|
- }
|
|
|
- filterChain.doFilter(request, response);
|
|
|
- }
|
|
|
-}
|
|
|
-
|