Browse Source

Use IPermissionStore in PermissionManagementProvider

Resolve #6373
pull/6480/head
maliming 6 years ago
parent
commit
5e6703dca8
  1. 4
      modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RolePermissionManagementProvider.cs
  2. 8
      modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/UserPermissionManagementProvider.cs
  3. 11
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementProvider.cs
  4. 6
      modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/TestPermissionManagementProvider.cs

4
modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RolePermissionManagementProvider.cs

@ -15,11 +15,13 @@ namespace Volo.Abp.PermissionManagement.Identity
public RolePermissionManagementProvider( public RolePermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository, IPermissionGrantRepository permissionGrantRepository,
IPermissionStore permissionStore,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
ICurrentTenant currentTenant, ICurrentTenant currentTenant,
IUserRoleFinder userRoleFinder) IUserRoleFinder userRoleFinder)
: base( : base(
permissionGrantRepository, permissionGrantRepository,
permissionStore,
guidGenerator, guidGenerator,
currentTenant) currentTenant)
{ {
@ -31,7 +33,7 @@ namespace Volo.Abp.PermissionManagement.Identity
if (providerName == Name) if (providerName == Name)
{ {
return new PermissionValueProviderGrantInfo( return new PermissionValueProviderGrantInfo(
await PermissionGrantRepository.FindAsync(name, providerName, providerKey) != null, await PermissionStore.IsGrantedAsync(name, providerName, providerKey),
providerKey providerKey
); );
} }

8
modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/UserPermissionManagementProvider.cs

@ -9,15 +9,17 @@ namespace Volo.Abp.PermissionManagement.Identity
public override string Name => UserPermissionValueProvider.ProviderName; public override string Name => UserPermissionValueProvider.ProviderName;
public UserPermissionManagementProvider( public UserPermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository, IPermissionGrantRepository permissionGrantRepository,
IPermissionStore permissionStore,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
ICurrentTenant currentTenant) ICurrentTenant currentTenant)
: base( : base(
permissionGrantRepository, permissionGrantRepository,
permissionStore,
guidGenerator, guidGenerator,
currentTenant) currentTenant)
{ {
} }
} }
} }

11
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementProvider.cs

@ -1,4 +1,5 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
@ -10,20 +11,24 @@ namespace Volo.Abp.PermissionManagement
protected IPermissionGrantRepository PermissionGrantRepository { get; } protected IPermissionGrantRepository PermissionGrantRepository { get; }
protected IPermissionStore PermissionStore { get; }
protected IGuidGenerator GuidGenerator { get; } protected IGuidGenerator GuidGenerator { get; }
protected ICurrentTenant CurrentTenant { get; } protected ICurrentTenant CurrentTenant { get; }
protected PermissionManagementProvider( protected PermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository, IPermissionGrantRepository permissionGrantRepository,
IPermissionStore permissionStore,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
ICurrentTenant currentTenant) ICurrentTenant currentTenant)
{ {
PermissionGrantRepository = permissionGrantRepository; PermissionGrantRepository = permissionGrantRepository;
PermissionStore = permissionStore;
GuidGenerator = guidGenerator; GuidGenerator = guidGenerator;
CurrentTenant = currentTenant; CurrentTenant = currentTenant;
} }
public virtual async Task<PermissionValueProviderGrantInfo> CheckAsync(string name, string providerName, string providerKey) public virtual async Task<PermissionValueProviderGrantInfo> CheckAsync(string name, string providerName, string providerKey)
{ {
if (providerName != Name) if (providerName != Name)
@ -32,7 +37,7 @@ namespace Volo.Abp.PermissionManagement
} }
return new PermissionValueProviderGrantInfo( return new PermissionValueProviderGrantInfo(
await PermissionGrantRepository.FindAsync(name, providerName, providerKey) != null, await PermissionStore.IsGrantedAsync(name, providerName, providerKey),
providerKey providerKey
); );
} }
@ -74,4 +79,4 @@ namespace Volo.Abp.PermissionManagement
await PermissionGrantRepository.DeleteAsync(permissionGrant); await PermissionGrantRepository.DeleteAsync(permissionGrant);
} }
} }
} }

6
modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/TestPermissionManagementProvider.cs

@ -1,6 +1,4 @@
using System; using Volo.Abp.Authorization.Permissions;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
@ -12,10 +10,12 @@ namespace Volo.Abp.PermissionManagement
public TestPermissionManagementProvider( public TestPermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository, IPermissionGrantRepository permissionGrantRepository,
IPermissionStore permissionStore,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
ICurrentTenant currentTenant) ICurrentTenant currentTenant)
: base( : base(
permissionGrantRepository, permissionGrantRepository,
permissionStore,
guidGenerator, guidGenerator,
currentTenant) currentTenant)
{ {

Loading…
Cancel
Save