From 6b2f3024479140bb99a94128062c9ae541e99234 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 09 八月 2024 16:38:15 +0800 Subject: [PATCH] 用户token过滤,增加不过滤的URl --- pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java | 54 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 31 insertions(+), 23 deletions(-) diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java b/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java index bff17e8..a398ef6 100644 --- a/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java +++ b/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java @@ -25,34 +25,42 @@ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) servletRequest; - HttpServletResponse response = (HttpServletResponse) servletResponse; - String token = request.getHeader(Constant.UserTokenKeyInHeader); - if(!StringUtils.isNullOrEmpty(token)){ - UserTokenContext.set(token); + HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; + String requestURI = httpRequest.getRequestURI(); + // 妫�鏌ヨ姹傛槸鍚︿负闈炶繃婊ら」 + if (UserTokenNoFilter.urls != null && UserTokenNoFilter.urls.stream().anyMatch(url -> requestURI.startsWith(url))) { + // 濡傛灉鏄潪杩囨护椤癸紝鐩存帴璋冪敤涓嬩竴涓繃婊ゅ櫒鎴杝ervlet filterChain.doFilter(servletRequest, servletResponse); - }else{ - PrintWriter pw = null ; - try { - BaseResponse<?> res = BaseResponseUtils.buildToLogin() ; - String jsonString = JSON.toJSONString(res); - response.setCharacterEncoding("UTF-8"); - response.setContentType("application/json; charset=utf-8"); - pw = response.getWriter() ; - pw.write(jsonString); - pw.flush(); - } catch (IOException e) { - e.printStackTrace(); - }finally { - if(pw != null){ - pw.close(); + } else { + // 濡傛灉涓嶆槸闈炶繃婊ら」锛屾墽琛岃繃婊ら�昏緫 + HttpServletRequest request = (HttpServletRequest) servletRequest; + HttpServletResponse response = (HttpServletResponse) servletResponse; + String token = request.getHeader(Constant.UserTokenKeyInHeader); + if(!StringUtils.isNullOrEmpty(token)){ + UserTokenContext.set(token); + filterChain.doFilter(servletRequest, servletResponse); + }else{ + PrintWriter pw = null ; + try { + BaseResponse<?> res = BaseResponseUtils.buildToLogin() ; + String jsonString = JSON.toJSONString(res); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/json; charset=utf-8"); + pw = response.getWriter() ; + pw.write(jsonString); + pw.flush(); + } catch (IOException e) { + e.printStackTrace(); + }finally { + if(pw != null){ + pw.close(); + } } + //request.setAttribute(Constant.ErrorKeyInRequest, "鏈緱鍒扮敤鎴穞oken"); + //response.sendRedirect("/error"); } - //request.setAttribute(Constant.ErrorKeyInRequest, "鏈緱鍒扮敤鎴穞oken"); - //response.sendRedirect("/error"); } } - @Override public void destroy() { } -- Gitblit v1.8.0