From 03a9cd21c1589e98978dc7296bb7fb48f1dcd7fe Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 17 五月 2024 16:13:45 +0800 Subject: [PATCH] feat:创建试卷时新增选择用户查询条件 --- src/main/java/com/mindskip/xzs/configuration/spring/security/RestAuthenticationProvider.java | 31 +++++++++++++------------------ 1 files changed, 13 insertions(+), 18 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 495d408..c6c39f9 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,11 +2,13 @@ import com.mindskip.xzs.context.WebContext; +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.repository.DepartmentMapper; import com.mindskip.xzs.service.AuthenticationService; import com.mindskip.xzs.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.LockedException; @@ -15,11 +17,11 @@ 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 java.util.ArrayList; +import java.util.List; /** @@ -29,25 +31,13 @@ * @date 2021/12/25 9:45 */ @Component +@RequiredArgsConstructor public class RestAuthenticationProvider implements AuthenticationProvider { private final AuthenticationService authenticationService; private final UserService userService; private final WebContext webContext; - - /** - * Instantiates a new Rest authentication provider. - * - * @param authenticationService the authentication service - * @param userService the user service - * @param webContext the web context - */ - @Autowired - public RestAuthenticationProvider(AuthenticationService authenticationService, UserService userService, WebContext webContext) { - this.authenticationService = authenticationService; - this.userService = userService; - this.webContext = webContext; - } + private final DepartmentMapper departmentMapper; @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { @@ -70,9 +60,14 @@ } ArrayList<GrantedAuthority> grantedAuthorities = new ArrayList<>(); + // 璧嬩簣閮ㄩ棬绠$悊鍛樿鑹� + 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()); + MyUser authUser = new MyUser(user.getUserName(), user.getPassword(), grantedAuthorities, user.getRole(), deptAdminIds); return new UsernamePasswordAuthenticationToken(authUser, authUser.getPassword(), authUser.getAuthorities()); } -- Gitblit v1.8.0