String keyPart = (keys != null) ? keys : "*"; role.permissions.add(new ResourcePermission(Resource.valueOf(resourcePart), Operation.valueOf(operationPart), regionPart, keyPart));
static ResourcePermission parseResourcePermission(String resourcePermissionString) { Assert.hasText(resourcePermissionString, String.format("ResourcePermission [%s] is required", resourcePermissionString)); ResourcePermission.Resource resource = ResourcePermission.Resource.DATA; ResourcePermission.Operation operation = ResourcePermission.Operation.WRITE; String key = null; String target = null; String[] resourcePermissionStringComponents = resourcePermissionString.split(":"); if (resourcePermissionStringComponents.length > 0) { resource = parseEnum(resourcePermissionStringComponents[0], ResourcePermission.Resource.class, ResourcePermission.Resource.values()); } if (resourcePermissionStringComponents.length > 1) { operation = parseEnum(resourcePermissionStringComponents[1], ResourcePermission.Operation.class, ResourcePermission.Operation.values()); } if (resourcePermissionStringComponents.length > 2) { target = nullSafeTrim(resourcePermissionStringComponents[2]); } if (resourcePermissionStringComponents.length > 3) { key = nullSafeTrim(resourcePermissionStringComponents[3]); } return new ResourcePermission(resource, operation, target, key); }
static ResourcePermission parseResourcePermission(String resourcePermissionString) { Assert.hasText(resourcePermissionString, String.format("ResourcePermission [%s] is required", resourcePermissionString)); ResourcePermission.Resource resource = ResourcePermission.Resource.DATA; ResourcePermission.Operation operation = ResourcePermission.Operation.WRITE; String key = null; String target = null; String[] resourcePermissionStringComponents = resourcePermissionString.split(":"); if (resourcePermissionStringComponents.length > 0) { resource = parseEnum(resourcePermissionStringComponents[0], ResourcePermission.Resource.class, ResourcePermission.Resource.values()); } if (resourcePermissionStringComponents.length > 1) { operation = parseEnum(resourcePermissionStringComponents[1], ResourcePermission.Operation.class, ResourcePermission.Operation.values()); } if (resourcePermissionStringComponents.length > 2) { target = nullSafeTrim(resourcePermissionStringComponents[2]); } if (resourcePermissionStringComponents.length > 3) { key = nullSafeTrim(resourcePermissionStringComponents[3]); } return new ResourcePermission(resource, operation, target, key); }
String keyPart = (keys != null) ? keys : "*"; role.permissions.add(new ResourcePermission(Resource.valueOf(resourcePart), Operation.valueOf(operationPart), regionPart, keyPart));
private ResourcePermission getOperationContext(Descriptor descriptor, ResourcePermission defaultValue) { String resource = (String) descriptor.getFieldValue("resource"); String operationCode = (String) descriptor.getFieldValue("operation"); String targetCode = (String) descriptor.getFieldValue("target"); if (resource != null && operationCode != null) { if (StringUtils.isBlank(targetCode)) { return new ResourcePermission(Resource.valueOf(resource), Operation.valueOf(operationCode)); } else { return new ResourcePermission(Resource.valueOf(resource), Operation.valueOf(operationCode), Target.valueOf(targetCode).getName()); } } return defaultValue; }
public ResourcePermission(Resource resource, Operation operation, Target target, String key) { this(resource == null ? null : resource.getName(), operation == null ? null : operation.getName(), target == null ? null : target.getName(), key); }
@Override public boolean authorize(String resource, String permission) { try { this.securityService.authorize(Resource.valueOf(resource), Operation.valueOf(permission), ResourcePermission.ALL, ResourcePermission.ALL); return true; } catch (GemFireSecurityException e) { return false; } }
public ResourcePermission(Resource resource, Operation operation, String target, String key) { this(resource == null ? null : resource.getName(), operation == null ? null : operation.getName(), target, key); }
public ResourcePermission(String resource, String operation, String target, String key) { // what's eventually stored are either "*", "NULL" or a valid enum except ALL. // Fields are never null. this.resource = parsePart(resource, r -> Resource.valueOf(r).getName()); this.operation = parsePart(operation, o -> Operation.valueOf(o).getName()); if (target != null) { this.target = StringUtils.stripStart(target, Region.SEPARATOR); } if (key != null) { this.key = key; } setParts(this.resource + ":" + this.operation + ":" + this.target + ":" + this.key, true); }
/** * Returns the resource, could be either ALL, NULL, DATA or CLUSTER */ public Resource getResource() { if (ALL.equals(resource)) { return Resource.ALL; } return Resource.valueOf(resource); }
public String getName() { if (this == ALL) { return ResourcePermission.ALL; } return name(); } }