diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/csrf/CsrfFilter.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/csrf/CsrfFilter.java index b4a11611..e3fdc19e 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/csrf/CsrfFilter.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/csrf/CsrfFilter.java @@ -14,6 +14,7 @@ import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 描述:跨站过滤器 @@ -49,13 +50,15 @@ public class CsrfFilter implements Filter { throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; - // 获取请求url地址 - String url = req.getRequestURL().toString(); + // 获取是否为websocket链接 + String upgrade = req.getHeader("Upgrade"); // 获取来源 String referurl = req.getHeader("Referer"); - if(isWhiteReq(referurl)){ + if(isWhiteReq(referurl) || Objects.equals(upgrade,"websocket")){ chain.doFilter(request, response); }else{ + // 获取请求url地址 + String url = req.getRequestURL().toString(); String log = ""; String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); String ip = getIp(req);