diff --git a/backend/src/main/java/com/stdproject/entity/LoginUser.java b/backend/src/main/java/com/stdproject/entity/LoginUser.java index c1ff2bb..2d9f73b 100644 --- a/backend/src/main/java/com/stdproject/entity/LoginUser.java +++ b/backend/src/main/java/com/stdproject/entity/LoginUser.java @@ -11,6 +11,7 @@ import org.springframework.security.core.userdetails.UserDetails; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Set; @Data @NoArgsConstructor @@ -19,9 +20,9 @@ public class LoginUser implements UserDetails { private User user; - private List permissions; + private Set permissions; - public LoginUser(User user, List permissions) { + public LoginUser(User user, Set permissions) { this.user = user; this.permissions = permissions; } @@ -29,7 +30,7 @@ public class LoginUser implements UserDetails { @JSONField(serialize = false) private List authorities; - public List getPermissions() { + public Set getPermissions() { return permissions; } diff --git a/backend/src/main/java/com/stdproject/service/CustomUserDetailsService.java b/backend/src/main/java/com/stdproject/service/CustomUserDetailsService.java index ab26b02..ae3d239 100644 --- a/backend/src/main/java/com/stdproject/service/CustomUserDetailsService.java +++ b/backend/src/main/java/com/stdproject/service/CustomUserDetailsService.java @@ -48,7 +48,7 @@ public class CustomUserDetailsService implements UserDetailsService { if (appUser == null) { throw new UsernameNotFoundException("用户不存在: " + username); } - List permissions = buildUserAuthorities(appUser); + Set permissions = buildUserAuthorities(appUser); LoginUser loginUser = new LoginUser(appUser,permissions); return loginUser; @@ -60,8 +60,8 @@ public class CustomUserDetailsService implements UserDetailsService { * @param appUser 用户信息 * @return 权限集合 */ - private List buildUserAuthorities(User appUser) { - List permissions = new ArrayList<>(); + private Set buildUserAuthorities(User appUser) { + Set permissions = new HashSet<>(); try { // 使用RoleMapper直接查询用户的角色信息