private static async Task InvokeAuthorizers( SubmitContext context, IEnumerable <ChangeSetEntry> changeSetItems, CancellationToken cancellationToken) { foreach (ChangeSetEntry entry in changeSetItems.Where(i => i.HasChanged())) { string message = null; foreach (var authorizer in context .GetHookPoints <IChangeSetEntryAuthorizer>().Reverse()) { if (!await authorizer.AuthorizeAsync(context, entry, cancellationToken)) { message = DefaultSubmitHandler.GetAuthorizeFailedMessage(entry); break; } } if (message != null) { throw new SecurityException(message); } } }
private static async Task InvokeAuthorizers( SubmitContext context, IEnumerable <ChangeSetItem> changeSetItems, CancellationToken cancellationToken) { var authorizer = context.GetApiService <IChangeSetItemAuthorizer>(); if (authorizer == null) { return; } foreach (ChangeSetItem item in changeSetItems.Where(i => i.HasChanged())) { if (!await authorizer.AuthorizeAsync(context, item, cancellationToken)) { var message = DefaultSubmitHandler.GetAuthorizeFailedMessage(item); throw new SecurityException(message); } } }