初始化用户时增加数据源管理权,给用户授权后改为无需重新登录即可拥有新的权限

This commit is contained in:
暮光:城中城
2023-02-13 20:27:53 +08:00
parent 1ae0e92c10
commit f8efca5ee0
9 changed files with 33 additions and 40 deletions

View File

@@ -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<UserAuthVo> userAuthSet = userAuthService.getUserAuthSet(userInfo.getId());
List<UserAuthInfo> 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);

View File

@@ -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<UserAuth> queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", userIdsList);
userAuthService.update(userAuthUp, queryWrapper);
userAuthService.remove(queryWrapper);
List<UserAuth> 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<UserAuthInfo> userAuthListNew = userAuthService.getUserAuthSet(userId);
DocUserUtil.setUserAuth(userId, userAuthListNew);
}
userAuthService.saveBatch(createList);
return DocResponseJson.ok();

View File

@@ -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');