You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2023/03/25 22:37:19 UTC

[ranger] branch ranger-2.4 updated: RANGER-4154: updated usersync to populate firstName for users

This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.4 by this push:
     new 8e2d48f3d RANGER-4154: updated usersync to populate firstName for users
8e2d48f3d is described below

commit 8e2d48f3ddcf32596bb55e811e238ce4e795cb6c
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Fri Mar 24 02:40:07 2023 -0700

    RANGER-4154: updated usersync to populate firstName for users
---
 .../main/java/org/apache/ranger/biz/XUserMgr.java  | 26 ++++++++++------------
 tagsync/pom.xml                                    | 21 ++++++++++++++---
 .../apache/ranger/ugsyncutil/model/XUserInfo.java  |  7 +++++-
 ugsync/pom.xml                                     | 21 ++++++++++++++---
 .../process/PolicyMgrUserGroupBuilder.java         |  1 +
 5 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index e23fe6327..190a57d32 100755
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -2614,37 +2614,35 @@ public class XUserMgr extends XUserMgrBase {
 		int ret = 0;
 
 		for (VXUser vXUser : users.getList()) {
-			if (vXUser == null || vXUser.getName() == null
-					|| "null".equalsIgnoreCase(vXUser.getName())
-					|| vXUser.getName().trim().isEmpty()) {
-				logger.warn("Ignoring invalid username " + vXUser==null? null : vXUser.getName());
+			final String userName  = vXUser == null ? null : vXUser.getName();
+			final String firstName = vXUser == null ? null : vXUser.getFirstName();
+
+			if (userName == null || "null".equalsIgnoreCase(userName) || userName.trim().isEmpty()) {
+				logger.warn("Ignoring user {}: invalid username", userName);
 				continue;
 			}
 
-			String firstName = vXUser.getFirstName();
-			if (firstName == null || "null".equalsIgnoreCase(firstName)
-					|| firstName.trim().isEmpty()) {
-				logger.warn("Ignoring invalid first name " + vXUser == null ? null : vXUser.getFirstName());
+			if (firstName == null || "null".equalsIgnoreCase(firstName) || firstName.trim().isEmpty()) {
+				logger.warn("Ignoring user {}: invalid firstName {}", userName, firstName);
 				continue;
 			}
 
-			checkAccess(vXUser.getName());
+			checkAccess(userName);
 			TransactionTemplate txTemplate = new TransactionTemplate(txManager);
 			txTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
 			try {
 				txTemplate.execute(new TransactionCallback<Object>() {
 					@Override
 					public Object doInTransaction(TransactionStatus status) {
-						String username = vXUser.getName();
-						VXPortalUser vXPortalUser = userMgr.getUserProfileByLoginId(username);
+						VXPortalUser vXPortalUser = userMgr.getUserProfileByLoginId(userName);
 						if (vXPortalUser == null) {
 							if (logger.isDebugEnabled()) {
-								logger.debug("create user " + username);
+								logger.debug("create user " + userName);
 							}
-							createXUser(vXUser, username);
+							createXUser(vXUser, userName);
 						} else {
 							if (logger.isDebugEnabled()) {
-								logger.debug("Update user " + username);
+								logger.debug("Update user " + userName);
 							}
 							updateXUser(vXUser, vXPortalUser);
 						}
diff --git a/tagsync/pom.xml b/tagsync/pom.xml
index 1434e27c0..905cbfac0 100644
--- a/tagsync/pom.xml
+++ b/tagsync/pom.xml
@@ -86,9 +86,24 @@
             <version>${commons.text.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-to-slf4j</artifactId>
+            <version>${log4j2.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
diff --git a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
index 2a2e01e1a..8012f15d9 100644
--- a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
+++ b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/XUserInfo.java
@@ -27,6 +27,7 @@ import java.util.Map;
 public class XUserInfo {
 	private String id;
 	private String name;
+	private String firstName;
 	private String 	description;
 	private String otherAttributes;
 	private String syncSource;
@@ -53,6 +54,10 @@ public class XUserInfo {
 		this.name = name;
 	}
 
+	public String getFirstName() { return firstName; }
+
+	public void setFirstName(String firstName) { this.firstName = firstName; }
+
 	public String getDescription() {
 		return description;
 	}
@@ -135,7 +140,7 @@ public class XUserInfo {
 
 	@Override
     public String toString() {
-        return "XUserInfo [id=" + id + ", name=" + name + ", description="
+        return "XUserInfo [id=" + id + ", name=" + name + ", firstName=" + firstName + ", description="
                 + description + ", groupNameList=" + groupNameList
                 + ", userRoleList=" + userRoleList + "]";
     }
diff --git a/ugsync/pom.xml b/ugsync/pom.xml
index 91af4511e..45ca90850 100644
--- a/ugsync/pom.xml
+++ b/ugsync/pom.xml
@@ -69,9 +69,24 @@
             <version>${commons.text.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>${log4j2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-to-slf4j</artifactId>
+            <version>${log4j2.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
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 bca833d08..aa701d13f 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
@@ -882,6 +882,7 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
 	private XUserInfo addXUserInfo(String aUserName, Map<String, String> otherAttrsMap, String otherAttributes) {
 		XUserInfo xuserInfo = new XUserInfo();
 		xuserInfo.setName(aUserName);
+		xuserInfo.setFirstName(aUserName);
 		xuserInfo.setDescription(aUserName + " - add from Unix box");
 		xuserInfo.setUserSource(SOURCE_EXTERNAL);
 		xuserInfo.setStatus(STATUS_ENABLED);