This commit is contained in:
luke 2025-06-10 00:33:01 +08:00
parent e8e5deda8d
commit ff8b6251e1

View File

@ -14,6 +14,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@ -34,6 +36,7 @@ public class UserQueryController {
@RequestHeader(value = "X-Original-URI", required = false) String originalUri @RequestHeader(value = "X-Original-URI", required = false) String originalUri
) { ) {
String token = headerToken != null ? headerToken : cookieToken; String token = headerToken != null ? headerToken : cookieToken;
originalUri = URLDecoder.decode(originalUri, StandardCharsets.UTF_8);
LOGGER.info("[权限校验] token={}, originalUri={}", headerToken != null ? headerToken : cookieToken, originalUri); LOGGER.info("[权限校验] token={}, originalUri={}", headerToken != null ? headerToken : cookieToken, originalUri);
@ -80,6 +83,8 @@ public class UserQueryController {
String pattern = rule.getFilePattern(); String pattern = rule.getFilePattern();
if (pattern == null) continue; if (pattern == null) continue;
LOGGER.info("[权限校验] 开始判断用户[{}]的角色规则[{}]是否允许访问: {}", userId, pattern, originalUri);
// 动态替换占位符 // 动态替换占位符
if (pattern.contains("${username}") && userName != null) { if (pattern.contains("${username}") && userName != null) {
pattern = pattern.replace("${username}", userName); pattern = pattern.replace("${username}", userName);