From 53dea0ef5fc8b035397b73b10f7a819ebf381b1c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 09 七月 2024 09:39:11 +0800 Subject: [PATCH] 分页优化 --- src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | 21 +++++++++++++-------- 1 files changed, 13 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..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 @@ -9,7 +9,6 @@ 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 +17,12 @@ 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; /** @@ -60,17 +60,22 @@ 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); + // 鑾峰彇璇ョ敤鎴风鐞嗛儴闂ㄥ強鍏朵笅绾� + 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