From 1b5162ebb83ffc13e5c196ccd135ae5f98701edd Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 12 七月 2024 18:09:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java b/src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java index c6c39f9..5104811 100644 --- a/src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java +++ b/src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java @@ -19,6 +19,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -65,8 +66,15 @@ grantedAuthorities.add(new SimpleGrantedAuthority(RoleEnum.DEPT_ADMIN.getRoleName())); } grantedAuthorities.add(new SimpleGrantedAuthority(RoleEnum.fromCode(user.getRole()).getRoleName())); - // 鑾峰彇璇ョ敤鎴风鐞嗛儴闂� + // 鑾峰彇璇ョ敤鎴风鐞嗛儴闂ㄥ強鍏朵笅绾� List<Integer> deptAdminIds = userService.getDeptAdminIds(user.getId()); + if (! CollectionUtils.isEmpty(deptAdminIds)) { + deptAdminIds = departmentMapper.getChilds(deptAdminIds); // 鏌ヨ瀛愰儴闂� + } + if (CollectionUtils.isEmpty(deptAdminIds)) { + // 濡傛灉鏄櫘閫氬鍛橈紝鏌ュ嚭鎵�鍦ㄩ儴闂� + deptAdminIds = userService.getDeptIds(user.getId()); + } MyUser authUser = new MyUser(user.getUserName(), user.getPassword(), grantedAuthorities, user.getRole(), deptAdminIds); return new UsernamePasswordAuthenticationToken(authUser, authUser.getPassword(), authUser.getAuthorities()); } -- Gitblit v1.8.0