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