/** * Checks if a Restriction gives permission for a specific Action * * @param restriction * @param action */ private boolean hasPermissionForAction(RestrictionEntity restriction, Action action) { return action == null || restriction.getAction().equals(action) || restriction.getAction().equals(ALL); }
public RestrictionDTO(RestrictionEntity res) { this.restriction = res; this.permissionName = res.getPermission().getValue(); }
@Test public void constructedWithRestrictionItShouldHaveRightAction(){ //given RestrictionEntity res = new RestrictionEntity(); res.setAction(Action.READ); res.setPermission(per); //when RestrictionDTO resDTO = new RestrictionDTO(res); //then Assert.assertEquals(per.getValue(), resDTO.getPermissionName()); Assert.assertEquals(res.getAction(), resDTO.getRestriction().getAction()); }
private boolean hasSimilarUserRestriction(RestrictionEntity newRestriction) { List<RestrictionEntity> similarRestrictions = new ArrayList<>(); for (RestrictionEntity restrictionEntity : getUserRestrictions(newRestriction.getUser().getName())) { if (restrictionEntity.getPermission().getValue().equals(newRestriction.getPermission().getValue())) { checkSimilarRestrictions(newRestriction.getPermission().getValue(), newRestriction.getAction(), newRestriction.getContext(), newRestriction.getResourceGroup(), newRestriction.getResourceType(), similarRestrictions, restrictionEntity); } } return aMoreGeneralRestrictionExists(newRestriction, similarRestrictions); }
public RestrictionDTO buildRestrictionDTO(Permission permission, RestrictionEntity restrictionEntity) { PermissionEntity pe = new PermissionEntity(); pe.setValue(permission.name()); restrictionEntity.setPermission(pe); RestrictionDTO dto = new RestrictionDTO(restrictionEntity); return dto; } }
/** * Checks if the caller is allowed to edit Deployments */ public boolean hasPermissionToEditDeployment() { for (Map.Entry<String, List<RestrictionDTO>> entry : getDeployableRoles().entrySet()) { if (sessionContext.isCallerInRole(entry.getKey())) { for (RestrictionDTO restrictionDTO : entry.getValue()) { if (restrictionDTO.getRestriction().getAction().equals(Action.UPDATE) || restrictionDTO.getRestriction().getAction().equals(Action.ALL)) { return true; } } } } return hasUserRestriction(Permission.DEPLOYMENT.name(), null, Action.UPDATE, null, null); }
@Before public void setUp(){ rol = new RoleEntity(); rol.setName("testRole"); per = new PermissionEntity(); per.setValue("testPermission"); }
public RestrictionDTO mockRestrictionDTO(Permission permission, RestrictionEntity restrictionEntity) { RestrictionDTO mock = mock(RestrictionDTO.class); when(mock.getPermissionName()).thenReturn(permission.name()); when(mock.getRestriction()).thenReturn(restrictionEntity); return mock; }
private void addPermission(Map<String, List<RestrictionDTO>> tmpRolesWithRestrictions, RoleEntity role) { String roleName = role.getName(); if (!tmpRolesWithRestrictions.containsKey(roleName)) { tmpRolesWithRestrictions.put(roleName, new ArrayList<RestrictionDTO>()); } for (RestrictionEntity res : role.getRestrictions()) { // add restriction tmpRolesWithRestrictions.get(roleName).add(new RestrictionDTO(res)); } }
/** * Checks if a user has a role or a restriction with a certain Permission and Action * Useful for displaying/hiding navigation elements in views * * @param permission */ public boolean hasPermission(Permission permission, Action action) { return hasRole(permission.name(), null, action, null, null) || hasUserRestriction(permission.name(), null, action, null, null); }
/** * Persists a new RestrictionEntity and returns its id * * @param restriction * @return Id of the newly created RestrictionEntity */ public Integer create(RestrictionEntity restriction) { entityManager.persist(restriction); entityManager.flush(); return restriction.getId(); }
public boolean hasPermissionForResourceType(String permissionName, String actionName, String resourceTypeName) { Permission permission = Permission.valueOf(permissionName); Action action = Action.valueOf(actionName); final ResourceTypeEntity resourceType = resourceTypeRepository.getByName(resourceTypeName); return resourceType != null && permissionService.hasPermission(permission, action, resourceType); }
public boolean hasPermissionForResourceType(String permissionName, String actionName, String resourceTypeName, Integer contextId) { Permission permission = Permission.valueOf(permissionName); Action action = Action.valueOf(actionName); final ResourceTypeEntity resourceType = resourceTypeRepository.getByName(resourceTypeName); final ContextEntity context = contextLocator.getContextById(contextId); return resourceType != null && permissionService.hasPermission(permission, context, action, null, resourceType); }