From 7d049361d716c3e720ea1e801e3cce1113fb0b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sat, 9 Jan 2021 20:43:11 +0300 Subject: [PATCH] MethodInvocationAuthorizationService should constructor-inject instead of resolving. --- .../MethodInvocationAuthorizationService.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs index 7a34598a66..eec672e718 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs @@ -11,11 +11,15 @@ namespace Volo.Abp.Authorization { public class MethodInvocationAuthorizationService : IMethodInvocationAuthorizationService, ITransientDependency { - private readonly IServiceProvider _serviceProvider; + private readonly IAbpAuthorizationPolicyProvider _abpAuthorizationPolicyProvider; + private readonly IAbpAuthorizationService _abpAuthorizationService; - public MethodInvocationAuthorizationService(IServiceProvider serviceProvider) + public MethodInvocationAuthorizationService( + IAbpAuthorizationPolicyProvider abpAuthorizationPolicyProvider, + IAbpAuthorizationService abpAuthorizationService) { - _serviceProvider = serviceProvider; + _abpAuthorizationPolicyProvider = abpAuthorizationPolicyProvider; + _abpAuthorizationService = abpAuthorizationService; } public async Task CheckAsync(MethodInvocationAuthorizationContext context) @@ -26,7 +30,7 @@ namespace Volo.Abp.Authorization } var authorizationPolicy = await AuthorizationPolicy.CombineAsync( - _serviceProvider.GetRequiredService(), + _abpAuthorizationPolicyProvider, GetAuthorizationDataAttributes(context.Method) ); @@ -35,7 +39,7 @@ namespace Volo.Abp.Authorization return; } - await _serviceProvider.GetRequiredService().CheckAsync(authorizationPolicy); + await _abpAuthorizationService.CheckAsync(authorizationPolicy); } protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)