From ff8b6251e152e721fc8c4795abdfc66bb354883f Mon Sep 17 00:00:00 2001 From: luke Date: Tue, 10 Jun 2025 00:33:01 +0800 Subject: [PATCH] fix --- .../infrastructure/north/controller/UserQueryController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/knowledge/base/infrastructure/north/controller/UserQueryController.java b/src/main/java/com/knowledge/base/infrastructure/north/controller/UserQueryController.java index e365db6..c15dd5f 100644 --- a/src/main/java/com/knowledge/base/infrastructure/north/controller/UserQueryController.java +++ b/src/main/java/com/knowledge/base/infrastructure/north/controller/UserQueryController.java @@ -14,6 +14,8 @@ import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; import java.util.Optional; @@ -34,6 +36,7 @@ public class UserQueryController { @RequestHeader(value = "X-Original-URI", required = false) String originalUri ) { String token = headerToken != null ? headerToken : cookieToken; + originalUri = URLDecoder.decode(originalUri, StandardCharsets.UTF_8); LOGGER.info("[权限校验] token={}, originalUri={}", headerToken != null ? headerToken : cookieToken, originalUri); @@ -80,6 +83,8 @@ public class UserQueryController { String pattern = rule.getFilePattern(); if (pattern == null) continue; + LOGGER.info("[权限校验] 开始判断用户[{}]的角色规则[{}]是否允许访问: {}", userId, pattern, originalUri); + // 动态替换占位符 if (pattern.contains("${username}") && userName != null) { pattern = pattern.replace("${username}", userName);