protected virtual IAuthorizeData[] GetAuthorizationDataAttributes(MethodInvocationAuthorizationContext context) { var classAttributes = context.Method.DeclaringType .GetCustomAttributes(true) .OfType <IAuthorizeData>(); var methodAttributes = context.Method .GetCustomAttributes(true) .OfType <IAuthorizeData>(); return(classAttributes.Union(methodAttributes).ToArray()); }
public async Task CheckAsync(MethodInvocationAuthorizationContext context) { if (AllowAnonymous(context)) { return; } foreach (var authorizationAttribute in GetAuthorizationDataAttributes(context.Method)) { await CheckAsync(authorizationAttribute).ConfigureAwait(false); } }
public async Task CheckAsync(MethodInvocationAuthorizationContext context) { if (AllowAnonymous(context)) { return; } var authorizationAttributes = GetAuthorizationDataAttributes(context); foreach (var authorizationAttribute in authorizationAttributes) { await CheckAsync(authorizationAttribute); } }
public async Task CheckAsync(MethodInvocationAuthorizationContext context) { if (AllowAnonymous(context)) { return; } var authorizationPolicy = await AuthorizationPolicy.CombineAsync( _abpAuthorizationPolicyProvider, GetAuthorizationDataAttributes(context.Method) ); if (authorizationPolicy == null) { return; } await _abpAuthorizationService.CheckAsync(authorizationPolicy); }
protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context) { return(context.Method.GetCustomAttributes(true).OfType <IAllowAnonymous>().Any()); }
public Task CheckAsync(MethodInvocationAuthorizationContext context) { return(Task.CompletedTask); }