Browse Source

MethodInvocationAuthorizationService should constructor-inject instead of resolving.

pull/7114/head
Halil İbrahim Kalkan 6 years ago
parent
commit
7d049361d7
  1. 14
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs

14
framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs

@ -11,11 +11,15 @@ namespace Volo.Abp.Authorization
{ {
public class MethodInvocationAuthorizationService : IMethodInvocationAuthorizationService, ITransientDependency 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) public async Task CheckAsync(MethodInvocationAuthorizationContext context)
@ -26,7 +30,7 @@ namespace Volo.Abp.Authorization
} }
var authorizationPolicy = await AuthorizationPolicy.CombineAsync( var authorizationPolicy = await AuthorizationPolicy.CombineAsync(
_serviceProvider.GetRequiredService<IAbpAuthorizationPolicyProvider>(), _abpAuthorizationPolicyProvider,
GetAuthorizationDataAttributes(context.Method) GetAuthorizationDataAttributes(context.Method)
); );
@ -35,7 +39,7 @@ namespace Volo.Abp.Authorization
return; return;
} }
await _serviceProvider.GetRequiredService<IAbpAuthorizationService>().CheckAsync(authorizationPolicy); await _abpAuthorizationService.CheckAsync(authorizationPolicy);
} }
protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context) protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)

Loading…
Cancel
Save