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)); }