beetlsql3-dev
Mlxa0324 2 years ago
parent 3d8217b753
commit f53c7ed2c4

@ -5,8 +5,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
@ -16,12 +14,12 @@ import java.util.List;
//cors跨域处理 //cors跨域处理
//TODO 方便调试allowOrigin暂时适用*,之后改为前端地址 //TODO 方便调试allowOrigin暂时适用*,之后改为前端地址
@WebFilter(filterName = "corsFilter", urlPatterns = "/*", //@WebFilter(filterName = "corsFilter", urlPatterns = "/*",
initParams = {@WebInitParam(name = "allowOrigin", value = "*"), // initParams = {@WebInitParam(name = "allowOrigin", value = "*"),
@WebInitParam(name = "allowMethods", value = "GET,POST,PUT,DELETE,OPTIONS"), // @WebInitParam(name = "allowMethods", value = "GET,POST,PUT,DELETE,OPTIONS"),
@WebInitParam(name = "allowCredentials", value = "true"), // @WebInitParam(name = "allowCredentials", value = "true"),
@WebInitParam(name = "allowHeaders", value = "Content-Type,X-Token,token,isWx,_sign"), // @WebInitParam(name = "allowHeaders", value = "Content-Type,X-Token,token,isWx,_sign"),
}) //})
public class CorsFilter implements Filter { public class CorsFilter implements Filter {

@ -0,0 +1,55 @@
package cn.jlw.cors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
*
*
* @author mlx
*/
@WebFilter(urlPatterns = {"/*"}, filterName = "tokenAuthorFilter")
public class TokenAuthorFilter implements Filter {
private static Logger LOG = LoggerFactory.getLogger(TokenAuthorFilter.class);
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
HttpSession session = req.getSession();
rep.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));
rep.setHeader("Access-Control-Allow-Credentials", "true");
rep.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE, PATCH");
rep.setHeader("Access-Control-Max-Age", "0");
rep.setHeader("Access-Control-Allow-Headers", "token, Origin, X-Requested-With, Content-Type, Accept");
rep.setCharacterEncoding("UTF-8");
//谷歌浏览器需要以下设置才能保证下一次请求会携带cookie
if(rep.getHeader("Set-Cookie") != null){
rep.setHeader("Set-Cookie",rep.getHeader("Set-Cookie")+"; Secure=true; Samesite=none");
}
chain.doFilter(req, rep);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
Loading…
Cancel
Save