From 9871384ee357aea32dd708cec81e8869fe534a80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sat, 19 Oct 2019 19:54:38 +0300 Subject: [PATCH] Resolved #1026: Align AbpValidationActionFilter with MethodInvocationValidator. --- .../Mvc/Validation/AbpValidationActionFilter.cs | 7 ++----- .../Abp/Authorization/AuthorizationInterceptor.cs | 13 ------------- .../Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs | 2 -- .../Abp/Validation/MethodInvocationValidator.cs | 8 +++++++- .../Volo/Abp/Validation/ObjectValidator.cs | 3 ++- .../Volo/Abp/Validation/ValidationInterceptor.cs | 15 --------------- 6 files changed, 11 insertions(+), 37 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Validation/AbpValidationActionFilter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Validation/AbpValidationActionFilter.cs index a300e40968..ca87f2b962 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Validation/AbpValidationActionFilter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Validation/AbpValidationActionFilter.cs @@ -26,11 +26,8 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation return; } - using (AbpCrossCuttingConcerns.Applying(context.Controller, AbpCrossCuttingConcerns.Validation)) - { - _validator.Validate(context.ModelState); - await next(); - } + _validator.Validate(context.ModelState); + await next(); } } } diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptor.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptor.cs index 45cb2ec39d..74314e815d 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptor.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptor.cs @@ -1,5 +1,4 @@ using System.Threading.Tasks; -using Volo.Abp.Aspects; using Volo.Abp.DependencyInjection; using Volo.Abp.DynamicProxy; using Volo.Abp.Threading; @@ -17,24 +16,12 @@ namespace Volo.Abp.Authorization public override void Intercept(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.Authorization)) - { - invocation.Proceed(); - return; - } - AsyncHelper.RunSync(() => AuthorizeAsync(invocation)); invocation.Proceed(); } public override async Task InterceptAsync(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.Authorization)) - { - await invocation.ProceedAsync(); - return; - } - await AuthorizeAsync(invocation); await invocation.ProceedAsync(); } diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs index 4c8033a0cf..8c861884e8 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs @@ -9,9 +9,7 @@ namespace Volo.Abp.Aspects //TODO: Move these constants to their own assemblies! public const string Auditing = "AbpAuditing"; - public const string Validation = "AbpValidation"; public const string UnitOfWork = "AbpUnitOfWork"; - public const string Authorization = "AbpAuthorization"; public const string FeatureChecking = "AbpFeatureChecking"; public static void AddApplied(object obj, params string[] concerns) diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs index b7ef822669..584f787a6e 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs @@ -96,7 +96,13 @@ namespace Volo.Abp.Validation parameterInfo.IsOut || TypeHelper.IsPrimitiveExtended(parameterInfo.ParameterType, includeEnums: true); - context.Errors.AddRange(_objectValidator.GetErrors(parameterValue, parameterInfo.Name, allowNulls)); + context.Errors.AddRange( + _objectValidator.GetErrors( + parameterValue, + parameterInfo.Name, + allowNulls + ) + ); } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs index 8ff3998f7e..784c211061 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs @@ -56,7 +56,8 @@ namespace Volo.Abp.Validation { foreach (var contributorType in Options.ObjectValidationContributors) { - var contributor = (IObjectValidationContributor) scope.ServiceProvider.GetRequiredService(contributorType); + var contributor = (IObjectValidationContributor) + scope.ServiceProvider.GetRequiredService(contributorType); contributor.AddErrors(context); } } diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs index 594a19535e..ed8c107005 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs @@ -1,5 +1,4 @@ using System.Threading.Tasks; -using Volo.Abp.Aspects; using Volo.Abp.DependencyInjection; using Volo.Abp.DynamicProxy; @@ -16,27 +15,13 @@ namespace Volo.Abp.Validation public override void Intercept(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.Validation)) - { - invocation.Proceed(); - return; - } - Validate(invocation); - invocation.Proceed(); } public override async Task InterceptAsync(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.Validation)) - { - await invocation.ProceedAsync(); - return; - } - Validate(invocation); - await invocation.ProceedAsync(); }