From bd999ecc09fcacf4016edcba85caf9b9696d2140 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期六, 04 十月 2025 18:40:31 +0800
Subject: [PATCH] feat: 同步本地改动(认证/评审/用户/选手模块更新;新增/调整 GraphQL schema;小程序个人信息与评审相关页面、配置与资源等)

---
 backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java b/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java
index 0bf65c7..2337aab 100644
--- a/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java
+++ b/backend/src/main/java/com/rongyichuang/common/util/UserContextUtil.java
@@ -40,6 +40,7 @@
      * 浠嶫WT token涓В鏋愮敤鎴稩D
      * 
      * @return 鐢ㄦ埛ID
+     * @throws SecurityException 褰撴病鏈夋湁鏁堣璇佹椂鎶涘嚭
      */
     public Long getCurrentUserId() {
         try {
@@ -51,22 +52,31 @@
                 return userId;
             }
 
+            if (token == null) {
+                logger.debug("鏈兘浠庤姹傚ご鑾峰彇鍒癑WT token");
+            } else {
+                logger.debug("浠庤姹傚ご鑾峰彇鍒皌oken浣嗘牎楠屽け璐�");
+            }
+
             // 濡傛灉娌℃湁鏈夋晥鐨凧WT token锛屽皾璇曚粠Spring Security涓婁笅鏂囪幏鍙�
             Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
             if (authentication != null && authentication.isAuthenticated() && 
                 !"anonymousUser".equals(authentication.getPrincipal())) {
                 logger.debug("鑾峰彇鍒拌璇佺敤鎴�: {}", authentication.getName());
-                // 濡傛灉璁よ瘉淇℃伅涓寘鍚敤鎴稩D锛屽彲浠ュ湪杩欓噷瑙f瀽
-                // 鏆傛椂杩斿洖鍥哄畾鐢ㄦ埛ID鐢ㄤ簬鍏煎鎬�
-                return 1L;
+                // 浠嶴pring Security涓婁笅鏂囦腑鑾峰彇鐢ㄦ埛ID
+                try {
+                    return Long.parseLong(authentication.getName());
+                } catch (NumberFormatException e) {
+                    logger.warn("鏃犳硶浠庤璇佷俊鎭腑瑙f瀽鐢ㄦ埛ID: {}", authentication.getName());
+                }
             }
         } catch (Exception e) {
             logger.warn("鑾峰彇褰撳墠鐢ㄦ埛ID鏃跺彂鐢熷紓甯�: {}", e.getMessage());
         }
         
-        // 濡傛灉娌℃湁璁よ瘉淇℃伅锛岃繑鍥瀗ull琛ㄧず鏈櫥褰�
-        logger.debug("鏈壘鍒版湁鏁堢殑璁よ瘉淇℃伅");
-        return null;
+        // 濡傛灉娌℃湁鏈夋晥鐨勮璇佷俊鎭紝鎶涘嚭鏉冮檺寮傚父
+        logger.warn("娌℃湁鏈夋晥鐨勮璇佷俊鎭紝鎷掔粷璁块棶");
+        throw new SecurityException("娌℃湁鏉冮檺");
     }
 
     /**
@@ -75,11 +85,18 @@
     private String getTokenFromRequest() {
         try {
             ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-            if (attributes != null) {
+            if (attributes == null) {
+                logger.warn("RequestContextHolder涓棤ServletRequestAttributes锛屽彲鑳戒负寮傛鎵ц鎴栭潪Servlet鐜");
+            } else {
                 HttpServletRequest request = attributes.getRequest();
                 String authHeader = request.getHeader("Authorization");
+                logger.debug("璇诲彇鍒癆uthorization澶�: {}", authHeader);
                 if (authHeader != null && authHeader.startsWith("Bearer ")) {
-                    return authHeader.substring(7);
+                    String token = authHeader.substring(7);
+                    logger.debug("浠嶢uthorization澶存彁鍙栧埌Bearer token锛岄暱搴�: {}", token != null ? token.length() : 0);
+                    return token;
+                } else {
+                    logger.debug("Authorization澶翠笉瀛樺湪鎴栦笉浠earer寮�澶�");
                 }
             }
         } catch (Exception e) {

--
Gitblit v1.8.0