RANGER-2649 : Unix user doesn't get 'Admin' role when set through assignment rules
Signed-off-by: Mehul Parikh <mehul@apache.org>
diff --git a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
index c113ece..6a24213 100644
--- a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
+++ b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
@@ -965,23 +965,22 @@
}
return ret;
}
-
+
private XUserInfo addXUserInfo(String aUserName) {
-
- XUserInfo xuserInfo = new XUserInfo();
-
- xuserInfo.setName(aUserName);
-
- xuserInfo.setDescription(aUserName + " - add from Unix box");
-
- List<String> userRole = new ArrayList<>();
- userRole.add("ROLE_USER");
- xuserInfo.setUserRoleList(userRole);
-
- usergroupInfo.setXuserInfo(xuserInfo);
-
- return xuserInfo;
- }
+ XUserInfo xuserInfo = new XUserInfo();
+ xuserInfo.setName(aUserName);
+ xuserInfo.setDescription(aUserName + " - add from Unix box");
+ List<String> roleList = new ArrayList<String>();
+ if (userMap.containsKey(aUserName)) {
+ roleList.add(userMap.get(aUserName));
+ }else{
+ roleList.add("ROLE_USER");
+ }
+ xuserInfo.setUserRoleList(roleList);
+ usergroupInfo.setXuserInfo(xuserInfo);
+
+ return xuserInfo;
+ }
private XGroupInfo addXGroupInfo(String aGroupName) {