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());
        }
Example #2
0
        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);
            }
        }
Example #4
0
        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);
        }
Example #5
0
 protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)
 {
     return(context.Method.GetCustomAttributes(true).OfType <IAllowAnonymous>().Any());
 }
 public Task CheckAsync(MethodInvocationAuthorizationContext context)
 {
     return(Task.CompletedTask);
 }