From 9619e60e3075a432d692f3cd8b76787568c53aad Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 07 五月 2025 15:56:58 +0800
Subject: [PATCH] 1、完善代码;2、禁止输出SpringBoot启动时Banner。
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java | 65 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
new file mode 100644
index 0000000..164f7f5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
@@ -0,0 +1,65 @@
+package com.dy.common.webFilter;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.contant.Constant;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.mysql.cj.util.StringUtils ;
+import jakarta.servlet.*;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+@Slf4j
+public class UserTokenFilter implements Filter {
+
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+ }
+
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ 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 {
+ // 濡傛灉涓嶆槸闈炶繃婊ら」锛屾墽琛岃繃婊ら�昏緫
+ 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");
+ }
+ }
+ }
+
+ @Override
+ public void destroy() {
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0