From 073605b6d62363dd7d48f5ca047a1d401418574a Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期日, 04 十月 2026 17:34:06 +0800
Subject: [PATCH] docs: record 2026-10-04 integration commit
---
emergency-repair-server/src/main/java/com/emergencyrepair/common/audit/CurrentUserInterceptor.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/emergency-repair-server/src/main/java/com/emergencyrepair/common/audit/CurrentUserInterceptor.java b/emergency-repair-server/src/main/java/com/emergencyrepair/common/audit/CurrentUserInterceptor.java
new file mode 100644
index 0000000..9a2c7cb
--- /dev/null
+++ b/emergency-repair-server/src/main/java/com/emergencyrepair/common/audit/CurrentUserInterceptor.java
@@ -0,0 +1,42 @@
+package com.emergencyrepair.common.audit;
+
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class CurrentUserInterceptor implements HandlerInterceptor {
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ CurrentUserContext.set(resolveUsername(request));
+ return true;
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
+ Object handler, Exception exception) {
+ CurrentUserContext.clear();
+ }
+
+ private String resolveUsername(HttpServletRequest request) {
+ String username = request.getHeader("X-Username");
+ if (StringUtils.hasText(username)) {
+ return username.trim();
+ }
+ String authorization = request.getHeader("Authorization");
+ if (!StringUtils.hasText(authorization)) {
+ return "admin";
+ }
+ String token = authorization.trim();
+ if (token.startsWith("Bearer ")) {
+ token = token.substring(7).trim();
+ }
+ if (token.startsWith("demo-") && token.endsWith("-token")) {
+ token = token.substring(5, token.length() - 6);
+ }
+ return StringUtils.hasText(token) ? token : "admin";
+ }
+}
--
Gitblit v1.9.1