Browse Source

Use IServiceProvider in MethodInvocationAuthorizationService.

pull/6815/head
maliming 6 years ago
parent
commit
e799338781
  1. 22
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs

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

@ -1,23 +1,21 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Authorization
{
public class MethodInvocationAuthorizationService : IMethodInvocationAuthorizationService, ITransientDependency
{
private readonly IAbpAuthorizationPolicyProvider _abpAuthorizationPolicyProvider;
private readonly IAbpAuthorizationService _abpAuthorizationService;
private readonly IServiceProvider _serviceProvider;
public MethodInvocationAuthorizationService(
IAbpAuthorizationPolicyProvider abpAuthorizationPolicyProvider,
IAbpAuthorizationService abpAuthorizationService)
public MethodInvocationAuthorizationService(IServiceProvider serviceProvider)
{
_abpAuthorizationPolicyProvider = abpAuthorizationPolicyProvider;
_abpAuthorizationService = abpAuthorizationService;
_serviceProvider = serviceProvider;
}
public async Task CheckAsync(MethodInvocationAuthorizationContext context)
@ -28,7 +26,7 @@ namespace Volo.Abp.Authorization
}
var authorizationPolicy = await AuthorizationPolicy.CombineAsync(
_abpAuthorizationPolicyProvider,
_serviceProvider.GetRequiredService<IAbpAuthorizationPolicyProvider>(),
GetAuthorizationDataAttributes(context.Method)
);
@ -36,8 +34,8 @@ namespace Volo.Abp.Authorization
{
return;
}
await _abpAuthorizationService.CheckAsync(authorizationPolicy);
await _serviceProvider.GetRequiredService<IAbpAuthorizationService>().CheckAsync(authorizationPolicy);
}
protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)
@ -64,4 +62,4 @@ namespace Volo.Abp.Authorization
return attributes;
}
}
}
}

Loading…
Cancel
Save