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
{
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<IAbpAuthorizationPolicyProvider>(),
_abpAuthorizationPolicyProvider,
GetAuthorizationDataAttributes(context.Method)
);
@ -35,7 +39,7 @@ namespace Volo.Abp.Authorization
return;
}
await _serviceProvider.GetRequiredService<IAbpAuthorizationService>().CheckAsync(authorizationPolicy);
await _abpAuthorizationService.CheckAsync(authorizationPolicy);
}
protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)

Loading…
Cancel
Save