From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:44:19 +0800 Subject: [PATCH] 删除 --- src/main/java/com/gk/firework/Config/Oauth2/UserServiceDetail.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/firework/Config/Oauth2/UserServiceDetail.java b/src/main/java/com/gk/firework/Config/Oauth2/UserServiceDetail.java new file mode 100644 index 0000000..9710d94 --- /dev/null +++ b/src/main/java/com/gk/firework/Config/Oauth2/UserServiceDetail.java @@ -0,0 +1,56 @@ +package com.gk.firework.Config.Oauth2; + +import com.gk.firework.Domain.UserInfo; +import com.gk.firework.Domain.Utils.CommonUtil; +import com.gk.firework.Domain.Utils.Constants; +import com.gk.firework.Service.UserService; +import io.swagger.models.auth.In; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +/** + * 加载用户特定数据的核心接口(Core interface which loads user-specific data.) + * + * @author zhangby + * @date 2019-05-14 09:49 + */ +@Service +public class UserServiceDetail implements UserDetailsService { + + @Autowired + UserService userService; + + /** + * 根据用户名查询用户 + */ + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + String authType = System.getProperty(Constants.AUTH_TYPE); + OauthUser oauthUser = new OauthUser(); + //查询登录用户 + UserInfo userInfo = userService.selectByLoginname(username); + Optional.of(userInfo).ifPresent(us ->{ + //查询角色 + List<OauthRole> roleByUser = userService.selectRoleByUser(us.getId().intValue()); + //数据类型转换 + List<OauthRole> oauthRoles = CommonUtil + .convers(roleByUser, role -> new OauthRole( + role.getId(), + role.getAuthority(),null,null) + ); + //数据结果集封装 + oauthUser.setId(us.getId().toString()); + oauthUser.setPassword(us.getPassword()); + oauthUser.setUsername(us.getUsername()); + oauthUser.setOauthRoles(oauthRoles); + }); + //判断登录入口 + return oauthUser; + } +} -- Gitblit v1.9.2