Operation.valueOf(operationPart), regionPart, keyPart));
Operation.valueOf(operationPart), regionPart, keyPart));
/** * Returns the operation, could be either ALL, NULL, MANAGE, WRITE or READ */ public Operation getOperation() { if (ALL.equals(operation)) { return Operation.ALL; } return Operation.valueOf(operation); }
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(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); }
@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; } }