From c2cd507da74f1841d0133d4c9bff9025ce1066ba Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 09 七月 2024 10:00:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev'
---
src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 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 305b486..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;
@@ -61,12 +62,19 @@
ArrayList<GrantedAuthority> grantedAuthorities = new ArrayList<>();
// 璧嬩簣閮ㄩ棬绠$悊鍛樿鑹�
- if (DeptAdminEnum.YES.getValue().equals(user.getDeptAdmin())) {
+ if (new Integer(-1).equals(user.getRole())) {
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