ColinLeeo commented on code in PR #13158:
URL: https://github.com/apache/iotdb/pull/13158#discussion_r1924879685
##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/ClusterAuthorityFetcher.java:
##########
@@ -525,53 +592,49 @@ private boolean checkRoleFromConfigNode(String username,
String rolename) {
/** Cache user. */
public User cacheUser(TPermissionInfoResp tPermissionInfoResp) {
User user = new User();
- List<TPathPrivilege> privilegeList =
tPermissionInfoResp.getUserInfo().getPrivilegeList();
- List<PathPrivilege> pathPrivilegeList = new ArrayList<>();
- user.setName(tPermissionInfoResp.getUserInfo().getUsername());
+ List<TPathPrivilege> privilegeList =
+
tPermissionInfoResp.getUserInfo().getPermissionInfo().getPrivilegeList();
+
user.setName(tPermissionInfoResp.getUserInfo().getPermissionInfo().getName());
user.setPassword(tPermissionInfoResp.getUserInfo().getPassword());
- for (TPathPrivilege tPathPrivilege : privilegeList) {
- try {
- PathPrivilege pathPri = new PathPrivilege();
- pathPri.setPath(new PartialPath(tPathPrivilege.getPath()));
- pathPri.setPrivileges(tPathPrivilege.getPriSet());
- pathPri.setGrantOpt(tPathPrivilege.getPriGrantOpt());
- pathPrivilegeList.add(pathPri);
- } catch (MetadataException e) {
- LOGGER.error("Failed to parse path {}.", tPathPrivilege.getPath(), e);
- }
- }
+ user.loadRelationalPrivilegeInfo(
+
tPermissionInfoResp.getUserInfo().getPermissionInfo().getDbPrivilegeMap());
+ user.setAnyScopePrivilegeSetInt(
+
tPermissionInfoResp.getUserInfo().getPermissionInfo().getAnyScopeSet());
+ user.setAnyScopePrivilegeGrantOptSetInt(
+
tPermissionInfoResp.getUserInfo().getPermissionInfo().getAnyScopeGrantSet());
user.setOpenIdUser(tPermissionInfoResp.getUserInfo().isIsOpenIdUser());
- user.setPrivilegeList(pathPrivilegeList);
- user.setRoleList(tPermissionInfoResp.getUserInfo().getRoleList());
- user.setSysPrivilegeSet(tPermissionInfoResp.getUserInfo().getSysPriSet());
-
user.setSysPriGrantOpt(tPermissionInfoResp.getUserInfo().getSysPriSetGrantOpt());
- for (String roleName : tPermissionInfoResp.getRoleInfo().keySet()) {
- iAuthorCache.putRoleCache(roleName, cacheRole(roleName,
tPermissionInfoResp));
+ user.setRoleSet(tPermissionInfoResp.getUserInfo().getRoleSet());
+ user.setSysPrivilegeSetInt(
+ tPermissionInfoResp.getUserInfo().getPermissionInfo().getSysPriSet());
+ user.setSysPriGrantOptInt(
+
tPermissionInfoResp.getUserInfo().getPermissionInfo().getSysPriSetGrantOpt());
+ try {
+ user.loadPathPrivilegeInfo(privilegeList);
+ } catch (MetadataException e) {
+ LOGGER.error("cache user's path privileges error", e);
+ }
+ if (tPermissionInfoResp.isSetRoleInfo()) {
+ for (String roleName : tPermissionInfoResp.getRoleInfo().keySet()) {
+ iAuthorCache.putRoleCache(roleName, cacheRole(roleName,
tPermissionInfoResp));
+ }
}
return user;
}
/** Cache role. */
public Role cacheRole(String roleName, TPermissionInfoResp
tPermissionInfoResp) {
- Role role = new Role();
- List<TPathPrivilege> privilegeList =
- tPermissionInfoResp.getRoleInfo().get(roleName).getPrivilegeList();
- List<PathPrivilege> pathPrivilegeList = new ArrayList<>();
-
role.setName(tPermissionInfoResp.getRoleInfo().get(roleName).getRoleName());
- for (TPathPrivilege tPathPrivilege : privilegeList) {
- try {
- PathPrivilege pathPri = new PathPrivilege();
- pathPri.setPath(new PartialPath(tPathPrivilege.getPath()));
- pathPri.setPrivileges(tPathPrivilege.getPriSet());
- pathPri.setGrantOpt(tPathPrivilege.getPriGrantOpt());
- pathPrivilegeList.add(pathPri);
- } catch (MetadataException e) {
- LOGGER.error("Failed to parse path {}.", tPathPrivilege.getPath(), e);
- }
+ TRoleResp resp = tPermissionInfoResp.getRoleInfo().get(roleName);
+ Role role = new Role(resp.getName());
+
+ role.loadRelationalPrivilegeInfo(resp.getDbPrivilegeMap());
Review Comment:
fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]