You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ra...@apache.org on 2026/07/09 10:22:20 UTC

(ranger) branch ranger-2.9 updated: RANGER-5624: Fix inconsistent updatedBy masking in groupName API (#1055)

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

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


The following commit(s) were added to refs/heads/ranger-2.9 by this push:
     new d02d53f15 RANGER-5624: Fix inconsistent updatedBy masking in groupName API (#1055)
d02d53f15 is described below

commit d02d53f152a472a97f87e501a7d607867c0d75c2
Author: KRISHNA CHAITANYA MUTTEVI <13...@users.noreply.github.com>
AuthorDate: Thu Jul 9 15:52:15 2026 +0530

    RANGER-5624: Fix inconsistent updatedBy masking in groupName API (#1055)
---
 .../main/java/org/apache/ranger/rest/XUserREST.java | 21 ++-------------------
 .../java/org/apache/ranger/rest/TestXUserREST.java  | 13 +++++--------
 2 files changed, 7 insertions(+), 27 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
index 6be57cd16..36b9f0816 100755
--- a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
@@ -61,7 +61,6 @@
 import org.apache.ranger.common.annotation.RangerAnnotationClassName;
 import org.apache.ranger.common.annotation.RangerAnnotationJSMgrName;
 import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.entity.XXGroup;
 import org.apache.ranger.entity.XXService;
 import org.apache.ranger.entity.XXServiceDef;
 import org.apache.ranger.plugin.model.RangerPluginInfo;
@@ -835,24 +834,8 @@ public VXUser getXUserByUserName(@Context HttpServletRequest request,
 	public VXGroup getXGroupByGroupName(@Context HttpServletRequest request,
 			@PathParam("groupName") String groupName) {
 		VXGroup vXGroup = xGroupService.getGroupByGroupName(groupName);
-		UserSessionBase userSession = ContextUtil.getCurrentUserSession();
-		if (userSession != null && userSession.getLoginId() != null && userSession.isSingleRoleUserSession()) {
-			VXUser loggedInVXUser = xUserService.getXUserByUserName(userSession.getLoginId());
-			boolean isMatch = false;
-			if (loggedInVXUser != null && vXGroup != null) {
-				List<XXGroup> userGroups = xGroupService.getGroupsByUserId(loggedInVXUser.getId());
-				for (XXGroup xXGroup: userGroups) {
-					if (xXGroup != null && StringUtils.equals(xXGroup.getName(), vXGroup.getName())) {
-						isMatch = true;
-						break;
-					}
-				}
-			}
-			if (!isMatch) {
-				vXGroup = null;
-			}
-		}
-		return vXGroup;
+		Long id = vXGroup.getId();
+		return xUserMgr.getXGroup(id);
 	}
 
 	@DELETE
diff --git a/security-admin/src/test/java/org/apache/ranger/rest/TestXUserREST.java b/security-admin/src/test/java/org/apache/ranger/rest/TestXUserREST.java
index a324f9afa..2e7e4b7d9 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestXUserREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestXUserREST.java
@@ -1027,18 +1027,15 @@ public void test62getXUserByUserName() {
 	}
 	@Test
 	public void test63getXGroupByGroupName() {
-		HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
-		
 		VXGroup compareTestVXGroup=createVXGroup();
-		
 		Mockito.when(xGroupService.getGroupByGroupName(compareTestVXGroup.getName())).thenReturn(compareTestVXGroup);
-		
-		VXGroup retVxGroup= xUserRest.getXGroupByGroupName(request,compareTestVXGroup.getName());
-		
+		Mockito.when(xUserMgr.getXGroup(compareTestVXGroup.getId())).thenReturn(compareTestVXGroup);
+		VXGroup retVxGroup = xUserRest.getXGroupByGroupName(request, compareTestVXGroup.getName());
 		assertNotNull(retVxGroup);
-		assertEquals(compareTestVXGroup.getClass(),compareTestVXGroup.getClass());
-		assertEquals(compareTestVXGroup.getId(),compareTestVXGroup.getId());
+		assertEquals(compareTestVXGroup.getId(), retVxGroup.getId());
+		assertEquals(compareTestVXGroup.getName(), retVxGroup.getName());
 		Mockito.verify(xGroupService).getGroupByGroupName(compareTestVXGroup.getName());
+		Mockito.verify(xUserMgr).getXGroup(compareTestVXGroup.getId());
 	}
 	@Test
 	public void test64deleteXUserByUserName() {