diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java index 0484979d74..6e4ad71fe0 100755 --- a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java @@ -314,9 +314,18 @@ protected V populateViewBean(T entityObj) { protected T populateEntityBeanForCreate(T entityObj, V vObj) { if (!populateExistingBaseFields) { + Long addedByUserId = ContextUtil.getCurrentUserId(); + + if (addedByUserId == null) { + XXPortalUser createdByUser = daoMgr.getXXPortalUser().findByLoginId(vObj.getCreatedBy()); + + if (createdByUser != null) { + addedByUserId = createdByUser.getId(); + } + } entityObj.setCreateTime(DateUtil.getUTCDate()); entityObj.setUpdateTime(entityObj.getCreateTime()); - entityObj.setAddedByUserId(ContextUtil.getCurrentUserId()); + entityObj.setAddedByUserId(addedByUserId); entityObj.setUpdatedByUserId(entityObj.getAddedByUserId()); } else { XXPortalUser createdByUser = daoMgr.getXXPortalUser().findByLoginId(vObj.getCreatedBy());