From d02d4723d3295392cd149e0209ce9d7f4eab09d6 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期一, 12 八月 2024 16:47:16 +0800
Subject: [PATCH] privilege change
---
pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java | 58 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 35 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 23143c5..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
@@ -13,6 +13,10 @@
import java.io.IOException;
import java.io.PrintWriter;
+/**
+ * 鐧诲綍鐢ㄦ埛token杩囨护鍣�
+ * 姝ょ被娌℃湁娉ㄨВ @Component 锛� 浠ュ湪闆嗘垚鍏剁殑瀛愭ā鍧椾腑鍔犲叆姝よ繃婊ゅ櫒
+ */
@Slf4j
public class UserTokenFilter implements Filter {
@Override
@@ -21,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