src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/repository/UserMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/UserService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/UserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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; @@ -67,6 +68,10 @@ grantedAuthorities.add(new SimpleGrantedAuthority(RoleEnum.fromCode(user.getRole()).getRoleName())); // 获取该用户管理部门 List<Integer> deptAdminIds = userService.getDeptAdminIds(user.getId()); 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()); } src/main/java/com/mindskip/xzs/repository/UserMapper.java
@@ -172,4 +172,6 @@ List<Department> getDeptAdmins(Integer id); User getUserByExamByTemplateId(ExamPaper examPaper); List<Integer> getDeptIds(@Param("userId") Integer userId); } src/main/java/com/mindskip/xzs/service/UserService.java
@@ -144,4 +144,12 @@ List<Department> getDeptAdmins(Integer id); User getUserByExamByTemplateId(ExamPaper examPaper); /** * 获取用户所在部门 * * @param id * @return */ List<Integer> getDeptIds(Integer id); } src/main/java/com/mindskip/xzs/service/impl/UserServiceImpl.java
@@ -199,4 +199,9 @@ public User getUserByExamByTemplateId(ExamPaper examPaper) { return userMapper.getUserByExamByTemplateId(examPaper); } @Override public List<Integer> getDeptIds(Integer userId) { return userMapper.getDeptIds(userId); } } src/main/resources/mapper/UserMapper.xml
@@ -565,4 +565,8 @@ ]]> </select> <select id="getDeptIds" resultType="integer"> SELECT department_id FROM t_user_department WHERE user_id = #{userId} AND dept_admin != 1 </select> </mapper>