From 5c5bc6419a0f917be0313b1e8b8b72caaeecc350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Wed, 3 Jun 2026 11:28:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(auth):=20=E5=86=85=E9=83=A8=20JwtAuthentic?= =?UTF-8?q?ationFilter=20=E5=A2=9E=E5=8A=A0=20userType=20=E4=BC=A0?= =?UTF-8?q?=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 从 Token 解析 userType 并存入 authentication.details - 供下游 AuthUtil 获取 userType 进行权限校验 --- .../gym/manage/sys/security/JwtAuthenticationFilter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gym-manage-api/manage-sys/src/main/java/cn/novalon/gym/manage/sys/security/JwtAuthenticationFilter.java b/gym-manage-api/manage-sys/src/main/java/cn/novalon/gym/manage/sys/security/JwtAuthenticationFilter.java index 0627e11..ceb248c 100644 --- a/gym-manage-api/manage-sys/src/main/java/cn/novalon/gym/manage/sys/security/JwtAuthenticationFilter.java +++ b/gym-manage-api/manage-sys/src/main/java/cn/novalon/gym/manage/sys/security/JwtAuthenticationFilter.java @@ -37,6 +37,7 @@ public class JwtAuthenticationFilter implements WebFilter { String username = jwtTokenProvider.getUsernameFromToken(token); jwtTokenProvider.getUserIdFromToken(token); List roles = jwtTokenProvider.getRolesFromToken(token); + String userType = jwtTokenProvider.getUserTypeFromToken(token); List authorities = roles.stream() .map(role -> new SimpleGrantedAuthority("ROLE_" + role)) @@ -53,6 +54,9 @@ public class JwtAuthenticationFilter implements WebFilter { authorities ); + // 将 userType 存入 authentication details,供后续 AuthUtil 使用 + authentication.setDetails(userType); + return chain.filter(exchange) .contextWrite(ReactiveSecurityContextHolder.withAuthentication(authentication)); }