This is an automated email from the ASF dual-hosted git repository.
dineshkumar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 2661bc874 Revert "RANGER-5209 : User source is not getting updated on
the Ranger Access Audit page"
2661bc874 is described below
commit 2661bc874ebda346256316fcba8e6003872492c8
Author: Dineshkumar Yadav <[email protected]>
AuthorDate: Mon Jun 23 11:53:16 2025 +0530
Revert "RANGER-5209 : User source is not getting updated on the Ranger
Access Audit page"
This reverts commit afe56fe7be0cbf62d6bba833be314c8781a01684.
---
.../ranger/plugin/util/RangerCommonConstants.java | 1 -
.../main/java/org/apache/ranger/biz/XUserMgr.java | 29 --------
.../main/java/org/apache/ranger/db/XXUserDao.java | 5 --
.../java/org/apache/ranger/rest/AssetREST.java | 6 --
.../java/org/apache/ranger/view/VXAccessAudit.java | 14 ----
.../main/webapp/react-webapp/src/utils/XAUtils.js | 9 ---
.../src/views/AuditEvent/AccessLogs.jsx | 21 ++----
.../java/org/apache/ranger/biz/TestXUserMgr.java | 79 ----------------------
.../java/org/apache/ranger/rest/TestAssetREST.java | 5 --
9 files changed, 7 insertions(+), 162 deletions(-)
diff --git
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
index 0066019c4..97f61b495 100644
---
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
+++
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerCommonConstants.java
@@ -68,7 +68,6 @@ public class RangerCommonConstants {
public static final String SCRIPT_FIELD__MATCH_TYPE
= "_matchType";
public static final String SCRIPT_FIELD__NAME
= "_name";
public static final String SCRIPT_FIELD__SYNC_SOURCE
= "_syncSource";
- public static final String SCRIPT_FIELD__USER_SOURCE
= "_userSource";
public static final String SCRIPT_FIELD__IS_INTERNAL
= "_isInternal";
public static final String SCRIPT_FIELD__EMAIL_ADDRESS
= "_emailAddress";
public static final String SCRIPT_FIELD__OWNER_USER
= "_ownerUser";
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 66114dd49..e415924fa 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
@@ -79,7 +79,6 @@
import org.apache.ranger.plugin.model.UserInfo;
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.plugin.util.PasswordUtils.PasswordGenerator;
-import org.apache.ranger.plugin.util.RangerCommonConstants;
import org.apache.ranger.plugin.util.RangerUserStore;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPortalUserService;
@@ -87,7 +86,6 @@
import org.apache.ranger.service.XUgsyncAuditInfoService;
import org.apache.ranger.ugsyncutil.model.GroupUserInfo;
import org.apache.ranger.ugsyncutil.model.UsersGroupRoleAssignments;
-import org.apache.ranger.view.VXAccessAudit;
import org.apache.ranger.view.VXAuditMap;
import org.apache.ranger.view.VXAuditMapList;
import org.apache.ranger.view.VXGroup;
@@ -2823,33 +2821,6 @@ public RangerUserStore getRangerUserStoreIfUpdated(Long
lastKnownUserStoreVersio
return ret;
}
- public void setAccessAuditsUserSource(List<VXAccessAudit> vxAccessAudits) {
- Long lastKnownUserStoreVersion = 1L;
-
- if (vxAccessAudits != null) {
- RangerUserStore latestUserStore =
getRangerUserStoreIfUpdated(lastKnownUserStoreVersion);
- if (latestUserStore != null) {
- Map<String, Map<String, String>> userAttrMapping =
latestUserStore.getUserAttrMapping();
-
- for (VXAccessAudit vxAccessAudit : vxAccessAudits) {
- String requestUser =
vxAccessAudit.getRequestUser();
- Map<String, String> userAttributes =
userAttrMapping.getOrDefault(vxAccessAudit.getRequestUser(),
Collections.emptyMap());
-
- if (MapUtils.isNotEmpty(userAttributes)) {
- String userSourceStr =
userAttributes.get(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE);
- if (userSourceStr != null) {
- try {
-
vxAccessAudit.setUserSource(Integer.parseInt(userSourceStr));
- } catch (NumberFormatException e) {
-
logger.error("XUserMgr.setAccessAuditsUserSource() : could not parse [{}] as
Integer!", userSourceStr, e); // ignore
- }
- }
- }
- }
- }
- }
- }
-
public int createOrUpdateXUsers(VXUserList users) {
logger.debug("==> createOrUpdateXUsers(): Started");
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
index 2b5d58d4a..520241268 100755
--- a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
@@ -43,7 +43,6 @@
import static
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__EMAIL_ADDRESS;
import static
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__IS_INTERNAL;
import static
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__SYNC_SOURCE;
-import static
org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE;
@Service
public class XXUserDao extends BaseDao<XXUser> {
@@ -214,10 +213,6 @@ private UserInfo toUserInfo(Object[] row) {
attrMap.put(SCRIPT_FIELD__IS_INTERNAL, Boolean.toString(isInternal));
- if (userSource != null) {
- attrMap.put(SCRIPT_FIELD__USER_SOURCE, String.valueOf(userSource));
- }
-
return new UserInfo(name, description, attrMap);
}
}
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 68ed5c097..46ee557c1 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -23,7 +23,6 @@
import org.apache.ranger.admin.client.datatype.RESTResponse;
import org.apache.ranger.biz.AssetMgr;
import org.apache.ranger.biz.RangerBizUtil;
-import org.apache.ranger.biz.XUserMgr;
import org.apache.ranger.common.RESTErrorUtil;
import org.apache.ranger.common.RangerSearchUtil;
import org.apache.ranger.common.SearchCriteria;
@@ -143,9 +142,6 @@ public class AssetREST {
@Autowired
RangerDaoManager daoManager;
- @Autowired
- XUserMgr xUserMgr;
-
@GET
@Path("/assets/{id}")
@Produces("application/json")
@@ -600,8 +596,6 @@ public VXAccessAuditList getAccessLogs(@Context
HttpServletRequest request, @Que
vxAccessAuditList.getVXAccessAudits().forEach(vxAccessAudit ->
vxAccessAudit.setZonedEventTime(new
SimpleDateFormat(RestUtil.ZONED_EVENT_TIME_FORMAT).format(vxAccessAudit.getEventTime())));
}
-
xUserMgr.setAccessAuditsUserSource(vxAccessAuditList.getVXAccessAudits());
-
return vxAccessAuditList;
}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
index 43c14733a..49a4f8d39 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
@@ -158,11 +158,6 @@ public class VXAccessAudit extends VXDataObject implements
java.io.Serializable
//Zoned Event Time
protected String zonedEventTime;
- /**
- * userSource
- */
- protected int userSource;
-
/**
* Default constructor. This will set all the attributes to default value.
*/
@@ -636,7 +631,6 @@ public String toString() {
str += "agentHost={" + agentHost + "}";
str += "eventId={" + eventId + "}";
str += "zonedEventTime={" + zonedEventTime + "} ";
- str += "userSource={" + userSource + "} ";
str += "}";
return str;
}
@@ -703,12 +697,4 @@ public String getZonedEventTime() {
public void setZonedEventTime(String zonedEventTime) {
this.zonedEventTime = zonedEventTime;
}
-
- public int getUserSource() {
- return userSource;
- }
-
- public void setUserSource(int userSource) {
- this.userSource = userSource;
- }
}
diff --git a/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
b/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
index 0abd809b8..21a163531 100644
--- a/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/react-webapp/src/utils/XAUtils.js
@@ -1585,12 +1585,3 @@ export const currentTimeZone = (timeZoneDate) => {
.replace(/^.*GMT.*\(/, "")
.replace(/\)$/, "");
};
-
-export const isEmptyValueCheck = (value) => {
- return (
- value == null ||
- (typeof value === "string" && value.trim() === "") ||
- (Array.isArray(value) && value.length === 0) ||
- (typeof value === "object" && Object.keys(value).length === 0)
- );
-};
diff --git
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
index 820861929..b5cae7a59 100644
---
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
+++
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AccessLogs.jsx
@@ -58,8 +58,7 @@ import {
serverError,
requestDataTitle,
fetchSearchFilterParams,
- parseSearchFilter,
- isEmptyValueCheck
+ parseSearchFilter
} from "../../utils/XAUtils";
import { CustomTooltip, Loader } from "../../components/CommonComponents";
import {
@@ -531,19 +530,13 @@ function Access() {
Header: "User Source",
accessor: "userSource",
Cell: (rawValue) => {
- if (!isEmptyValueCheck(rawValue?.value)) {
+ if (!isEmpty(rawValue?.value)) {
const userSourceVal = find(UserTypes, { value: rawValue.value });
- if (userSourceVal) {
- return (
- <h6 className="text-center">
- <Badge bg={userSourceVal.variant}>
- {userSourceVal.label}
- </Badge>
- </h6>
- );
- } else {
- return "--";
- }
+ return (
+ <h6 className="text-center">
+ <Badge bg={userSourceVal.variant}>{userSourceVal.label}</Badge>
+ </h6>
+ );
} else return "--";
},
width: 100,
diff --git
a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
index 1d4714b06..699e4ce1f 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
@@ -75,8 +75,6 @@
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
import org.apache.ranger.plugin.model.RangerSecurityZone;
import org.apache.ranger.plugin.model.UserInfo;
-import org.apache.ranger.plugin.util.RangerCommonConstants;
-import org.apache.ranger.plugin.util.RangerUserStore;
import org.apache.ranger.security.context.RangerContextHolder;
import org.apache.ranger.security.context.RangerSecurityContext;
import org.apache.ranger.service.RangerPolicyService;
@@ -94,7 +92,6 @@
import org.apache.ranger.service.XUserService;
import org.apache.ranger.ugsyncutil.model.GroupUserInfo;
import org.apache.ranger.ugsyncutil.model.UsersGroupRoleAssignments;
-import org.apache.ranger.view.VXAccessAudit;
import org.apache.ranger.view.VXAuditMap;
import org.apache.ranger.view.VXAuditMapList;
import org.apache.ranger.view.VXGroup;
@@ -137,7 +134,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -4320,81 +4316,6 @@ public void test132CreateExternalUser() {
Assert.assertEquals(createdXUser.getName(), vXUser.getName());
}
- @Test
- public void testSetAccessAuditsUserSource_WhenValidUserMappingExists() {
- destroySession();
- setup();
- VXAccessAudit audit = new VXAccessAudit();
- audit.setRequestUser("tom");
-
- List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
- Map<String, String> userAttributes = new HashMap<>();
- userAttributes.put(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE,
"5");
-
- Map<String, Map<String, String>> attrMap = new HashMap<>();
- attrMap.put("tom", userAttributes);
- RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
- rangerUserStore.setUserAttrMapping(attrMap);
- XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
- Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
- spyXUserMgr.setAccessAuditsUserSource(auditList);
-
- Assert.assertEquals(5, audit.getUserSource());
- }
-
- @Test
- public void testSetAccessAuditsUserSource_WhenUserMappingDoesNotExist() {
- destroySession();
- setup();
- VXAccessAudit audit = new VXAccessAudit();
- audit.setRequestUser("unknownUser");
-
- List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
- Map<String, String> userAttributes = new HashMap<>();
- userAttributes.put(RangerCommonConstants.SCRIPT_FIELD__USER_SOURCE,
"5");
-
- Map<String, Map<String, String>> attrMap = new HashMap<>();
- attrMap.put("tom", userAttributes);
- RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
- rangerUserStore.setUserAttrMapping(attrMap);
- XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
- Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
- spyXUserMgr.setAccessAuditsUserSource(auditList);
-
- Assert.assertEquals(0, audit.getUserSource());
- }
-
- @Test
- public void testSetAccessAuditsUserSource_WhenUserSourceKeyIsMissing() {
- destroySession();
- setup();
-
- VXAccessAudit audit = new VXAccessAudit();
- audit.setRequestUser("tom");
-
- List<VXAccessAudit> auditList = Collections.singletonList(audit);
-
- Map<String, String> userAttributes = new HashMap<>();
-
- Map<String, Map<String, String>> attrMap = new HashMap<>();
- attrMap.put("tom", userAttributes);
- RangerUserStore rangerUserStore = Mockito.mock(RangerUserStore.class);
- rangerUserStore.setUserAttrMapping(attrMap);
- XUserMgr spyXUserMgr = Mockito.spy(xUserMgr);
-
Mockito.doReturn(rangerUserStore).when(spyXUserMgr).getRangerUserStoreIfUpdated(1L);
- Mockito.when(rangerUserStore.getUserAttrMapping()).thenReturn(attrMap);
-
- spyXUserMgr.setAccessAuditsUserSource(auditList);
-
- Assert.assertEquals(0, audit.getUserSource());
- }
-
@Test
public void test01CreateXUser_federated() {
destroySession();
diff --git
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index 2967297a8..04ef82613 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -20,7 +20,6 @@
import org.apache.ranger.admin.client.datatype.RESTResponse;
import org.apache.ranger.biz.AssetMgr;
import org.apache.ranger.biz.RangerBizUtil;
-import org.apache.ranger.biz.XUserMgr;
import org.apache.ranger.common.RESTErrorUtil;
import org.apache.ranger.common.RangerSearchUtil;
import org.apache.ranger.common.SearchCriteria;
@@ -121,8 +120,6 @@ public class TestAssetREST {
RangerBizUtil msBizUtil;
@Mock
RangerDaoManager daoManager;
- @Mock
- XUserMgr xUserMgr;
@InjectMocks
AssetREST assetREST = new AssetREST();
@Mock RESTErrorUtil restErrorUtil;
@@ -565,7 +562,6 @@ public void testGetAccessLogs() {
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xxServiceDefDao);
XXServiceDef xServiceDef = new XXServiceDef();
xServiceDef.setId(Id);
-
xUserMgr.setAccessAuditsUserSource(vXAccessAuditList.getVXAccessAudits());
Mockito.when(xxServiceDefDao.findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME)).thenReturn(xServiceDef);
Mockito.when(assetMgr.getAccessLogs(searchCriteria)).thenReturn(vXAccessAuditList);
VXAccessAuditList expectedVXAccessAuditList =
assetREST.getAccessLogs(request, null);
@@ -601,7 +597,6 @@ public void testGetAccessLogsForKms() {
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xxServiceDefDao);
XXServiceDef xServiceDef = new XXServiceDef();
xServiceDef.setId(Id);
-
xUserMgr.setAccessAuditsUserSource(vXAccessAuditList.getVXAccessAudits());
Mockito.when(xxServiceDefDao.findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME)).thenReturn(xServiceDef);
Mockito.when(assetMgr.getAccessLogs(searchCriteria)).thenReturn(vXAccessAuditList);
VXAccessAuditList expectedVXAccessAuditList =
assetREST.getAccessLogs(request, null);