From f8efca5ee07aa33afc51002bdba1343a5fe8f4b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?= <806783409@qq.com> Date: Mon, 13 Feb 2023 20:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=B6=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E6=BA=90=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9D=83=EF=BC=8C=E7=BB=99=E7=94=A8=E6=88=B7=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E5=90=8E=E6=94=B9=E4=B8=BA=E6=97=A0=E9=9C=80=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E7=99=BB=E5=BD=95=E5=8D=B3=E5=8F=AF=E6=8B=A5=E6=9C=89?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/config/security/DocUserDetails.java | 4 ++-- .../doc/data/config/security/DocUserUtil.java | 4 ++-- .../{UserAuthVo.java => UserAuthInfo.java} | 4 ++-- .../data/service/manage/UserAuthService.java | 4 ++-- .../manage/impl/UserAuthServiceImpl.java | 12 ++++-------- .../doc/manage/web/LoginController.java | 4 ++-- .../doc/manage/web/UserInfoController.java | 19 ++++++++----------- .../src/main/resources/sql/full/full.sql | 18 +++++++++--------- .../controller/WikiPageAuthController.java | 4 ++-- 9 files changed, 33 insertions(+), 40 deletions(-) rename zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/{UserAuthVo.java => UserAuthInfo.java} (91%) diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserDetails.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserDetails.java index 01166407..e57ca802 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserDetails.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserDetails.java @@ -16,7 +16,7 @@ public class DocUserDetails { private String username; private String password; private boolean enabled; - private List userAuthList; + private List userAuthList; public DocUserDetails(Long userId, String username) { this.userId = userId; @@ -31,7 +31,7 @@ public class DocUserDetails { this.enabled = enabled; } - public DocUserDetails(Long userId, String username, String password, boolean enabled, List userAuthList) { + public DocUserDetails(Long userId, String username, String password, boolean enabled, List userAuthList) { super(); this.userId = userId; this.username = username; diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserUtil.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserUtil.java index fa71aa16..57bccbf1 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserUtil.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/DocUserUtil.java @@ -40,7 +40,7 @@ public class DocUserUtil { if (currentUser == null) { return false; } - Set authCodeSet = currentUser.getUserAuthList().stream().map(UserAuthVo::getAuthCode).collect(Collectors.toSet()); + Set authCodeSet = currentUser.getUserAuthList().stream().map(UserAuthInfo::getAuthCode).collect(Collectors.toSet()); for (String authName : authNames) { if (!authCodeSet.contains(authName)) { return false; @@ -77,7 +77,7 @@ public class DocUserUtil { /** * 设置当前用户权限 */ - public static void setUserAuth(Long userId, List userAuthList) { + public static void setUserAuth(Long userId, List userAuthList) { String userToken = CacheUtil.get(CachePrefix.LOGIN_USER_ID_TOKEN + userId); if (userToken != null) { DocUserDetails docUser = CacheUtil.get(userToken); diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthVo.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthInfo.java similarity index 91% rename from zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthVo.java rename to zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthInfo.java index 6298d1ce..ec562ea5 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthVo.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/security/UserAuthInfo.java @@ -18,11 +18,11 @@ import java.io.Serializable; */ @Data @NoArgsConstructor -public class UserAuthVo implements Serializable { +public class UserAuthInfo implements Serializable { private static final long serialVersionUID = 1L; - public UserAuthVo(UserAuth userAuth) { + public UserAuthInfo(UserAuth userAuth) { this.authId = userAuth.getAuthId(); this.sysType = userAuth.getSysType(); this.sysModuleType = userAuth.getSysModuleType(); diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/UserAuthService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/UserAuthService.java index cdb0a52a..bee749f9 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/UserAuthService.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/UserAuthService.java @@ -1,7 +1,7 @@ package com.zyplayer.doc.data.service.manage; import com.baomidou.mybatisplus.extension.service.IService; -import com.zyplayer.doc.data.config.security.UserAuthVo; +import com.zyplayer.doc.data.config.security.UserAuthInfo; import com.zyplayer.doc.data.repository.manage.entity.UserAuth; import java.util.List; @@ -16,7 +16,7 @@ import java.util.List; */ public interface UserAuthService extends IService { - List getUserAuthSet(Long userId); + List getUserAuthSet(Long userId); List getModuleAuthList(Integer sysType, Integer sysModuleType, Long sysModuleId); diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/UserAuthServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/UserAuthServiceImpl.java index c158336a..d665213d 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/UserAuthServiceImpl.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/UserAuthServiceImpl.java @@ -2,14 +2,10 @@ package com.zyplayer.doc.data.service.manage.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.zyplayer.doc.core.exception.ConfirmException; -import com.zyplayer.doc.data.config.security.UserAuthVo; +import com.zyplayer.doc.data.config.security.UserAuthInfo; import com.zyplayer.doc.data.repository.manage.entity.AuthInfo; import com.zyplayer.doc.data.repository.manage.entity.UserAuth; import com.zyplayer.doc.data.repository.manage.mapper.UserAuthMapper; -import com.zyplayer.doc.data.repository.support.consts.DocAuthConst; -import com.zyplayer.doc.data.repository.support.consts.DocSysModuleType; -import com.zyplayer.doc.data.repository.support.consts.DocSysType; import com.zyplayer.doc.data.service.manage.AuthInfoService; import com.zyplayer.doc.data.service.manage.UserAuthService; import org.apache.commons.collections.CollectionUtils; @@ -34,7 +30,7 @@ public class UserAuthServiceImpl extends ServiceImpl i AuthInfoService authInfoService; @Override - public List getUserAuthSet(Long userId) { + public List getUserAuthSet(Long userId) { QueryWrapper authWrapper = new QueryWrapper<>(); authWrapper.eq("user_id", userId).eq("del_flag", "0"); List userAuthList = this.list(authWrapper); @@ -45,8 +41,8 @@ public class UserAuthServiceImpl extends ServiceImpl i Collection authInfoList = authInfoService.listByIds(authIdList); Map authNameMap = authInfoList.stream().collect(Collectors.toMap(AuthInfo::getId, AuthInfo::getAuthName)); // 组装 - List userAuthVoList = userAuthList.stream().map(UserAuthVo::new).collect(Collectors.toList()); - for (UserAuthVo userAuthVo : userAuthVoList) { + List userAuthVoList = userAuthList.stream().map(UserAuthInfo::new).collect(Collectors.toList()); + for (UserAuthInfo userAuthVo : userAuthVoList) { userAuthVo.setAuthCode(authNameMap.get(userAuthVo.getAuthId())); } return userAuthVoList; diff --git a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/LoginController.java b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/LoginController.java index abbc0cb3..d275b9f5 100644 --- a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/LoginController.java +++ b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/LoginController.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserUtil; -import com.zyplayer.doc.data.config.security.UserAuthVo; +import com.zyplayer.doc.data.config.security.UserAuthInfo; import com.zyplayer.doc.data.repository.manage.entity.UserInfo; import com.zyplayer.doc.data.service.manage.UserAuthService; import com.zyplayer.doc.data.service.manage.UserInfoService; @@ -73,7 +73,7 @@ public class LoginController { return DocResponseJson.warn("用户名或密码错误"); } } - List userAuthSet = userAuthService.getUserAuthSet(userInfo.getId()); + List userAuthSet = userAuthService.getUserAuthSet(userInfo.getId()); String accessToken = IdUtil.simpleUUID(); DocUserDetails userDetails = new DocUserDetails(userInfo.getId(), userInfo.getUserName(), userInfo.getPassword(), true, userAuthSet); DocUserUtil.setCurrentUser(accessToken, userDetails); diff --git a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/UserInfoController.java b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/UserInfoController.java index c51f2b49..a5a13da5 100644 --- a/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/UserInfoController.java +++ b/zyplayer-doc-manage/src/main/java/com/zyplayer/doc/manage/web/UserInfoController.java @@ -9,6 +9,7 @@ import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserUtil; +import com.zyplayer.doc.data.config.security.UserAuthInfo; import com.zyplayer.doc.data.repository.manage.entity.AuthInfo; import com.zyplayer.doc.data.repository.manage.entity.UserAuth; import com.zyplayer.doc.data.repository.manage.entity.UserInfo; @@ -227,26 +228,22 @@ public class UserInfoController { authIdsList = Arrays.stream(authIds.split(",")).map(Long::valueOf).collect(Collectors.toList()); } DocUserDetails currentUser = DocUserUtil.getCurrentUser(); - - UserAuth userAuthUp = new UserAuth(); - userAuthUp.setDelFlag(1); - userAuthUp.setUpdateTime(new Date()); - userAuthUp.setUpdateUid(currentUser.getUserId()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("user_id", userIdsList); - userAuthService.update(userAuthUp, queryWrapper); - + userAuthService.remove(queryWrapper); List createList = new LinkedList<>(); - for (int i = 0; i < userIdsList.size(); i++) { - for (int j = 0; j < authIdsList.size(); j++) { + for (Long userId : userIdsList) { + for (Long authId : authIdsList) { UserAuth userAuth = new UserAuth(); - userAuth.setUserId(userIdsList.get(i)); - userAuth.setAuthId(authIdsList.get(j)); + userAuth.setUserId(userId); + userAuth.setAuthId(authId); userAuth.setCreateUid(currentUser.getUserId()); userAuth.setCreationTime(new Date()); userAuth.setDelFlag(0); createList.add(userAuth); } + List userAuthListNew = userAuthService.getUserAuthSet(userId); + DocUserUtil.setUserAuth(userId, userAuthListNew); } userAuthService.saveBatch(createList); return DocResponseJson.ok(); diff --git a/zyplayer-doc-manage/src/main/resources/sql/full/full.sql b/zyplayer-doc-manage/src/main/resources/sql/full/full.sql index a6623fcd..bc580e37 100644 --- a/zyplayer-doc-manage/src/main/resources/sql/full/full.sql +++ b/zyplayer-doc-manage/src/main/resources/sql/full/full.sql @@ -421,16 +421,16 @@ VALUES (1, 'AUTH_ASSIGN', '权限分配权', 0, 1, '2018-12-01 11:40:42', 1), (8, 'WIKI_PAGE_FILE_DELETE_', '删除wiki文档附件', 0, 1, '2019-06-04 13:01:20', 0), (9, 'WIKI_PAGE_AUTH_MANAGE_', 'wiki权限管理', 0, 1, '2019-06-04 13:01:20', 0), (10, 'DB_DATASOURCE_MANAGE', 'DB数据源管理权', 0, 1, '2019-06-29 13:01:20', 1), - (11, 'ES_DATASOURCE_MANAGE', 'ES数据源管理权', 0, 1, '2019-07-27 00:39:20', 1), - (12, 'DB_VIEW_', '数据源查看权', 0, 1, '2019-08-18 23:25:17', 0), - (13, 'DB_SELECT_', '数据源查询权', 0, 1, '2019-08-18 23:25:17', 0), - (14, 'DB_UPDATE_', '数据源增删改查权', 0, 1, '2019-08-18 23:25:17', 0), - (15, 'DB_DESC_EDIT_', '表字段注释修改权', 0, 1, '2019-08-18 23:25:17', 0), - (16, 'DB_PROC_EDIT_', '存储过程修改权', 0, 1, '2021-04-24 23:25:17', 0), - (17, 'API_DOC_MANAGE', 'api文档管理权', 0, 1, '2021-12-12 23:25:17', 0), - (18, 'API_DOC_DEVELOPER', 'api文档编辑权', 0, 1, '2021-12-12 23:25:17', 0); + (11, 'DB_VIEW_', '数据源查看权', 0, 1, '2019-08-18 23:25:17', 0), + (12, 'DB_SELECT_', '数据源查询权', 0, 1, '2019-08-18 23:25:17', 0), + (13, 'DB_UPDATE_', '数据源增删改查权', 0, 1, '2019-08-18 23:25:17', 0), + (14, 'DB_DESC_EDIT_', '表字段注释修改权', 0, 1, '2019-08-18 23:25:17', 0), + (15, 'DB_PROC_EDIT_', '存储过程修改权', 0, 1, '2021-04-24 23:25:17', 0), + (16, 'API_DOC_MANAGE', 'api文档管理权', 0, 1, '2021-12-12 23:25:17', 0), + (17, 'API_DOC_DEVELOPER', 'api文档编辑权', 0, 1, '2021-12-12 23:25:17', 0); -- 用户权限 INSERT INTO `user_auth` (id, user_id, auth_id, create_uid, update_uid, del_flag, creation_time) VALUES (1, 1, 1, 1, 1, 0, '2018-12-01 11:37:39'), - (2, 1, 2, 1, 1, 0, '2018-12-01 11:37:39'); + (2, 1, 2, 1, 1, 0, '2018-12-01 11:37:39'), + (2, 1, 10, 1, 1, 0, '2018-12-01 11:37:39'); diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageAuthController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageAuthController.java index dbf6b23e..22a5e260 100644 --- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageAuthController.java +++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageAuthController.java @@ -7,7 +7,7 @@ import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserUtil; -import com.zyplayer.doc.data.config.security.UserAuthVo; +import com.zyplayer.doc.data.config.security.UserAuthInfo; import com.zyplayer.doc.data.repository.manage.entity.AuthInfo; import com.zyplayer.doc.data.repository.manage.entity.UserAuth; import com.zyplayer.doc.data.repository.manage.entity.UserInfo; @@ -126,7 +126,7 @@ public class WikiPageAuthController { userMessage.setAffectUserName(userInfo.getUserName()); userMessageService.addWikiMessage(userMessage); // 刷新用户权限 - List userAuthListNew = userAuthService.getUserAuthSet(authVo.getUserId()); + List userAuthListNew = userAuthService.getUserAuthSet(authVo.getUserId()); DocUserUtil.setUserAuth(authVo.getUserId(), userAuthListNew); } return DocResponseJson.ok();