From 7cd84085ee7cba65350171dab688bc776b8093ff Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 03 十二月 2024 12:21:32 +0800
Subject: [PATCH] 文件上传接口取消文件内容为空判断
---
src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | 32 ++++++++++++++++++++++++--------
1 files changed, 24 insertions(+), 8 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 fd508d2..938ffee 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
@@ -2,14 +2,15 @@
import com.mindskip.xzs.context.WebContext;
+import com.mindskip.xzs.domain.Department;
import com.mindskip.xzs.domain.enums.DeptAdminEnum;
import com.mindskip.xzs.domain.enums.RoleEnum;
import com.mindskip.xzs.domain.enums.UserStatusEnum;
+import com.mindskip.xzs.domain.vo.CascaderDataVO;
import com.mindskip.xzs.repository.DepartmentMapper;
import com.mindskip.xzs.service.AuthenticationService;
import com.mindskip.xzs.service.UserService;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.LockedException;
@@ -18,11 +19,14 @@
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
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;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
@@ -60,17 +64,29 @@
throw new LockedException("鐢ㄦ埛琚鐢�");
}
-// // 鏌ヨ璇ョ敤鎴锋槸涓嶆槸閮ㄩ棬绠$悊鍛�
-// Integer num = departmentMapper.countByAdminId(user.getId());
-
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()));
-
- User authUser = new User(user.getUserName(), user.getPassword(), grantedAuthorities);
+ // 鑾峰彇璇ョ敤鎴风鐞嗛儴闂ㄥ強鍏朵笅绾eptAdminIds
+ List<Department> deptList = userService.getDeptAdminIdAndInfo(user.getId());
+ List<Integer> deptIds = deptList.stream().map(dept -> dept.getId()).collect(Collectors.toList());
+ if (! CollectionUtils.isEmpty(deptIds)) {
+ deptIds = departmentMapper.getChilds(deptIds); // 鏌ヨ瀛愰儴闂�
+ // 濡傛灉璇ラ儴闂ㄨ繕琚祴浜堜簡绠$悊涓夌骇鍗曚綅鐨勭殑鏉冮檺锛屽垯鏌ュ嚭鏉�
+ if (deptList.stream().anyMatch(dept -> Objects.nonNull(dept.getSpecial()) && dept.getSpecial())) {
+ List<CascaderDataVO> levelDeptList = departmentMapper.getLevelDeptList(3);
+ List<Integer> level3DeptIds = levelDeptList.stream().map(CascaderDataVO::getValue).collect(Collectors.toList());
+ deptIds.addAll(level3DeptIds);
+ }
+ }
+ else if (CollectionUtils.isEmpty(deptIds)) {
+ // 濡傛灉鏄櫘閫氬鍛橈紝鏌ュ嚭鎵�鍦ㄩ儴闂�
+ deptIds = userService.getDeptIds(user.getId());
+ }
+ MyUser authUser = new MyUser(user.getUserName(), user.getPassword(), grantedAuthorities, user.getRole(), deptIds);
return new UsernamePasswordAuthenticationToken(authUser, authUser.getPassword(), authUser.getAuthorities());
}
--
Gitblit v1.8.0