/// <summary> /// Validate the table access policy /// </summary> /// <param name="policy">SharedAccessBlobPolicy object</param> /// <param name="policyIdentifier">The policy identifier which need to be checked.</param> internal static bool ValidateTableAccessPolicy(IStorageTableManagement channel, string tableName, XTable.SharedAccessTablePolicy policy, string policyIdentifier) { if (string.IsNullOrEmpty(policyIdentifier)) { return(true); } XTable.CloudTable table = channel.GetTableReference(tableName); XTable.TableRequestOptions options = null; XTable.OperationContext context = null; XTable.TablePermissions permission = channel.GetTablePermissions(table, options, context); XTable.SharedAccessTablePolicy sharedAccessPolicy = GetExistingPolicy <XTable.SharedAccessTablePolicy>(permission.SharedAccessPolicies, policyIdentifier); if (policy.Permissions != XTable.SharedAccessTablePermissions.None) { throw new ArgumentException(Resources.SignedPermissionsMustBeOmitted); } if (policy.SharedAccessExpiryTime.HasValue && sharedAccessPolicy.SharedAccessExpiryTime.HasValue) { throw new ArgumentException(Resources.SignedExpiryTimeMustBeOmitted); } return(!sharedAccessPolicy.SharedAccessExpiryTime.HasValue); }
public virtual Task SetPermissionsAsync(TablePermissions permissions, TableRequestOptions requestOptions, OperationContext operationContext, CancellationToken cancellationToken) { requestOptions = TableRequestOptions.ApplyDefaults(requestOptions, ServiceClient); operationContext = (operationContext ?? new OperationContext()); return(ServiceClient.Executor.SetTablePermissionsAsync(permissions, ServiceClient, this, requestOptions, operationContext, cancellationToken)); }
public virtual Task SetPermissionsAsync(TablePermissions permissions, TableRequestOptions requestOptions, OperationContext operationContext) { return(SetPermissionsAsync(permissions, requestOptions, operationContext, CancellationToken.None)); }
public virtual Task SetPermissionsAsync(TablePermissions permissions, CancellationToken cancellationToken) { return(SetPermissionsAsync(permissions, null, null, cancellationToken)); }
public virtual Task SetPermissionsAsync(TablePermissions permissions) { return(SetPermissionsAsync(permissions, CancellationToken.None)); }
public virtual void SetPermissions(TablePermissions permissions, TableRequestOptions requestOptions = null, OperationContext operationContext = null) { requestOptions = TableRequestOptions.ApplyDefaults(requestOptions, ServiceClient); operationContext = (operationContext ?? new OperationContext()); ServiceClient.Executor.SetTablePermissions(permissions, ServiceClient, this, requestOptions, operationContext); }