From 39f6fca28e3f78abe48f08e474ec011abb990b36 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 09 九月 2026 10:39:21 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/security/JwtAuthenticationFilter.java | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/backend/src/main/java/com/tourguide/security/JwtAuthenticationFilter.java b/backend/src/main/java/com/tourguide/security/JwtAuthenticationFilter.java
index 6fe5642..7c05c6b 100644
--- a/backend/src/main/java/com/tourguide/security/JwtAuthenticationFilter.java
+++ b/backend/src/main/java/com/tourguide/security/JwtAuthenticationFilter.java
@@ -10,6 +10,7 @@
import com.tourguide.modules.user.service.AdminUserService;
import com.tourguide.modules.user.service.GuideUserService;
import com.tourguide.modules.user.service.MiniUserService;
+import com.tourguide.modules.system.service.AdminPermissionService;
import org.springframework.http.MediaType;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -29,16 +30,19 @@
private final JwtTokenService jwtTokenService;
private final TokenSessionService tokenSessionService;
private final AdminUserService adminUserService;
+ private final AdminPermissionService adminPermissionService;
private final MiniUserService miniUserService;
private final GuideUserService guideUserService;
private final ObjectMapper objectMapper;
public JwtAuthenticationFilter(JwtTokenService jwtTokenService, TokenSessionService tokenSessionService,
- AdminUserService adminUserService, MiniUserService miniUserService,
+ AdminUserService adminUserService, AdminPermissionService adminPermissionService,
+ MiniUserService miniUserService,
GuideUserService guideUserService, ObjectMapper objectMapper) {
this.jwtTokenService = jwtTokenService;
this.tokenSessionService = tokenSessionService;
this.adminUserService = adminUserService;
+ this.adminPermissionService = adminPermissionService;
this.miniUserService = miniUserService;
this.guideUserService = guideUserService;
this.objectMapper = objectMapper;
@@ -78,11 +82,19 @@
}
}
+ @Override
+ protected boolean shouldNotFilter(HttpServletRequest request) {
+ String uri = request.getRequestURI();
+ return uri.startsWith("/base/dougong/") || uri.startsWith("/api/base/dougong/")
+ || "/base/dougong".equals(uri) || "/api/base/dougong".equals(uri);
+ }
+
/** 根据 Token 端类型读取对应用户表,任何端都不会回退查询其他用户表。 */
private AppUserPrincipal loadPrincipal(TokenPayload payload, String requestUri) {
if (payload.getClientType() == ClientType.ADMIN) {
AdminUser user = adminUserService.findEnabledById(payload.getUserId());
- return new AppUserPrincipal(user.getId(), user.getUsername(), user.getRoleCode(), ClientType.ADMIN);
+ return new AppUserPrincipal(user.getId(), user.getUsername(), user.getRoleCode(), ClientType.ADMIN,
+ adminPermissionService.getMenuCodes(user.getRoleCode()));
}
if (payload.getClientType() == ClientType.MINI) {
MiniUser user = miniUserService.findEnabledById(payload.getUserId());
--
Gitblit v1.7.1