use of org.apache.ranger.entity.XXUser in project ranger by apache.
the class XUserMgr method createOrUpdateUserPermisson.
// Insert or Updating Mapping permissions depending upon roles
public void createOrUpdateUserPermisson(VXPortalUser portalUser, Long moduleId, boolean isCreate) {
VXUserPermission vXUserPermission;
XXUserPermission xUserPermission = daoManager.getXXUserPermission().findByModuleIdAndPortalUserId(portalUser.getId(), moduleId);
if (xUserPermission == null) {
vXUserPermission = new VXUserPermission();
// When Creating XXUserPermission UI sends xUserId, to keep it consistent here xUserId should be used
XXUser xUser = daoManager.getXXUser().findByPortalUserId(portalUser.getId());
if (xUser == null) {
logger.warn("Could not found corresponding xUser for username: [" + portalUser.getLoginId() + "], So not assigning permission to this user");
return;
} else {
vXUserPermission.setUserId(xUser.getId());
}
vXUserPermission.setIsAllowed(RangerCommonEnums.IS_ALLOWED);
vXUserPermission.setModuleId(moduleId);
try {
vXUserPermission = this.createXUserPermission(vXUserPermission);
logger.info("Permission assigned to user: [" + vXUserPermission.getUserName() + "] For Module: [" + vXUserPermission.getModuleName() + "]");
} catch (Exception e) {
logger.error("Error while assigning permission to user: [" + portalUser.getLoginId() + "] for module: [" + moduleId + "]", e);
}
} else if (isCreate) {
vXUserPermission = xUserPermissionService.populateViewBean(xUserPermission);
vXUserPermission.setIsAllowed(RangerCommonEnums.IS_ALLOWED);
vXUserPermission = this.updateXUserPermission(vXUserPermission);
logger.info("Permission Updated for user: [" + vXUserPermission.getUserName() + "] For Module: [" + vXUserPermission.getModuleName() + "]");
}
}
use of org.apache.ranger.entity.XXUser in project ranger by apache.
the class XUserMgr method createXGroupUserFromMap.
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public VXGroupUserInfo createXGroupUserFromMap(VXGroupUserInfo vXGroupUserInfo) {
checkAdminAccess();
xaBizUtil.blockAuditorRoleUser();
VXGroupUserInfo vxGUInfo = new VXGroupUserInfo();
VXGroup vXGroup = vXGroupUserInfo.getXgroupInfo();
// Add the group user mappings for a given group to x_group_user table
/*XXGroup xGroup = daoManager.getXXGroup().findByGroupName(vXGroup.getName());
if (xGroup == null) {
return vxGUInfo;
}*/
List<VXUser> vxu = new ArrayList<VXUser>();
for (VXUser vXUser : vXGroupUserInfo.getXuserInfo()) {
XXUser xUser = daoManager.getXXUser().findByUserName(vXUser.getName());
XXPortalUser xXPortalUser = daoManager.getXXPortalUser().findByLoginId(vXUser.getName());
if (xUser != null) {
// Add or update group user mapping only if the user already exists in x_user table.
logger.debug(String.format("createXGroupUserFromMap(): Create or update group %s ", vXGroup.getName()));
vXGroup = xGroupService.createXGroupWithOutLogin(vXGroup);
vxGUInfo.setXgroupInfo(vXGroup);
vxu.add(vXUser);
VXGroupUser vXGroupUser = new VXGroupUser();
vXGroupUser.setUserId(xUser.getId());
vXGroupUser.setName(vXGroup.getName());
if (xXPortalUser.getUserSource() == RangerCommonEnums.USER_EXTERNAL) {
vXGroupUser = xGroupUserService.createXGroupUserWithOutLogin(vXGroupUser);
logger.debug(String.format("createXGroupUserFromMap(): Create or update group user mapping with groupname = " + vXGroup.getName() + " username = %s userId = %d", xXPortalUser.getLoginId(), xUser.getId()));
}
Collection<String> reqRoleList = vXUser.getUserRoleList();
XXPortalUser xxPortalUser = daoManager.getXXPortalUser().findByLoginId(vXUser.getName());
List<String> existingRole = daoManager.getXXPortalUserRole().findXPortalUserRolebyXPortalUserId(xxPortalUser.getId());
VXPortalUser vxPortalUser = userManager.mapXXPortalUserToVXPortalUserForDefaultAccount(xxPortalUser);
if (xxPortalUser.getUserSource() == RangerCommonEnums.USER_EXTERNAL) {
vxPortalUser = userManager.updateRoleForExternalUsers(reqRoleList, existingRole, vxPortalUser);
assignPermissionToUser(vxPortalUser, true);
}
}
}
vxGUInfo.setXuserInfo(vxu);
return vxGUInfo;
}
use of org.apache.ranger.entity.XXUser in project ranger by apache.
the class TestXUserMgr method test15ModifyUserVisibilitySetEmpty.
@Test
public void test15ModifyUserVisibilitySetEmpty() {
XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
XXUser xxUser = Mockito.mock(XXUser.class);
VXUser vxUser = vxUser();
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
HashMap<Long, Integer> visibilityMap = new HashMap<Long, Integer>();
visibilityMap.put(userId, emptyValue);
Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
xUserMgr.modifyUserVisibility(visibilityMap);
Assert.assertEquals(emptyValue, vxUser.getIsVisible());
Assert.assertEquals(userId, vxUser.getId());
Mockito.verify(xUserService).updateResource(vxUser);
Mockito.verify(daoManager).getXXUser();
Mockito.verify(xUserService).populateViewBean(xxUser);
}
use of org.apache.ranger.entity.XXUser in project ranger by apache.
the class TestXUserMgr method test14ModifyUserVisibilitySetZero.
@Test
public void test14ModifyUserVisibilitySetZero() {
XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
XXUser xxUser = Mockito.mock(XXUser.class);
VXUser vxUser = vxUser();
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
HashMap<Long, Integer> visibilityMap = new HashMap<Long, Integer>();
Integer value = 0;
visibilityMap.put(userId, value);
Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
xUserMgr.modifyUserVisibility(visibilityMap);
Assert.assertEquals(value, vxUser.getIsVisible());
Assert.assertEquals(userId, vxUser.getId());
Mockito.verify(xUserService).updateResource(vxUser);
Mockito.verify(daoManager).getXXUser();
Mockito.verify(xUserService).populateViewBean(xxUser);
}
use of org.apache.ranger.entity.XXUser in project ranger by apache.
the class TestXUserMgr method test13ModifyUserVisibilitySetOne.
@Test
public void test13ModifyUserVisibilitySetOne() {
XXUserDao xxUserDao = Mockito.mock(XXUserDao.class);
XXUser xxUser = Mockito.mock(XXUser.class);
VXUser vxUser = vxUser();
Mockito.when(xUserService.updateResource(vxUser)).thenReturn(vxUser);
HashMap<Long, Integer> visibilityMap = new HashMap<Long, Integer>();
Integer value = 1;
visibilityMap.put(userId, value);
Mockito.when(daoManager.getXXUser()).thenReturn(xxUserDao);
Mockito.when(xxUserDao.getById(userId)).thenReturn(xxUser);
Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser);
xUserMgr.modifyUserVisibility(visibilityMap);
Assert.assertEquals(value, vxUser.getIsVisible());
Assert.assertEquals(userId, vxUser.getId());
Mockito.verify(xUserService).updateResource(vxUser);
Mockito.verify(daoManager).getXXUser();
Mockito.verify(xUserService).populateViewBean(xxUser);
}
Aggregations