public async Task OnAuthorizationAsync(AuthorizationFilterContext context) { try { await authorizationService.AuthorizeAsync(context, options.Value, new CancellationToken()); } catch (Exception ex) { context.Result = actionResultFactory.HandleException(context, ex); } }
public static async Task AuthorizeAsync(this IAuthorizationService authorizationService, AuthorizationFilterContext context, AspNetAuthorizationOptions options, CancellationToken cancellationToken) { if (!(context.ActionDescriptor is ControllerActionDescriptor actionDescriptor)) { return; } var authorizeInfo = GetAuthorizeInfo(actionDescriptor, options); if (authorizeInfo != null) { await authorizationService.AuthorizeAsync(new IAuthorizeInfo[] { authorizeInfo }, cancellationToken); } }