Browse Source

Refactor permission grant info types in role provider

pull/24374/head
maliming 11 months ago
parent
commit
39b60db9f5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 4
      modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/AbpPermissionManagementDomainIdentityModule.cs
  2. 8
      modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RoleResourcePermissionManagementProvider.cs

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

@ -26,10 +26,6 @@ public class AbpPermissionManagementDomainIdentityModule : AbpModule
options.ResourceManagementProviders.Add<UserResourcePermissionManagementProvider>(); options.ResourceManagementProviders.Add<UserResourcePermissionManagementProvider>();
options.ResourceManagementProviders.Add<RoleResourcePermissionManagementProvider>(); options.ResourceManagementProviders.Add<RoleResourcePermissionManagementProvider>();
//TODO: Can we prevent duplication of permission names without breaking the design and making the system complicated
options.ResourceProviderPolicies[UserResourcePermissionValueProvider.ProviderName] = "AbpIdentity.Users.ManagePermissions";
options.ResourceProviderPolicies[RoleResourcePermissionValueProvider.ProviderName] = "AbpIdentity.Roles.ManagePermissions";
}); });
} }
} }

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

@ -29,18 +29,18 @@ public class RoleResourcePermissionManagementProvider : ResourcePermissionManage
UserRoleFinder = userRoleFinder; UserRoleFinder = userRoleFinder;
} }
public override async Task<PermissionValueProviderGrantInfo> CheckAsync(string name, string resourceName, string resourceKey, string providerName, string providerKey) public override async Task<ResourcePermissionValueProviderGrantInfo> CheckAsync(string name, string resourceName, string resourceKey, string providerName, string providerKey)
{ {
var multipleGrantInfo = await CheckAsync(new[] { name }, resourceName, resourceKey, providerName, providerKey); var multipleGrantInfo = await CheckAsync(new[] { name }, resourceName, resourceKey, providerName, providerKey);
return multipleGrantInfo.Result.Values.First(); return multipleGrantInfo.Result.Values.First();
} }
public override async Task<MultiplePermissionValueProviderGrantInfo> CheckAsync(string[] names, string resourceName, string resourceKey, string providerName, string providerKey) public override async Task<MultipleResourcePermissionValueProviderGrantInfo> CheckAsync(string[] names, string resourceName, string resourceKey, string providerName, string providerKey)
{ {
using (ResourcePermissionGrantRepository.DisableTracking()) using (ResourcePermissionGrantRepository.DisableTracking())
{ {
var multiplePermissionValueProviderGrantInfo = new MultiplePermissionValueProviderGrantInfo(names); var multiplePermissionValueProviderGrantInfo = new MultipleResourcePermissionValueProviderGrantInfo(names);
var resourcePermissionGrants = new List<ResourcePermissionGrant>(); var resourcePermissionGrants = new List<ResourcePermissionGrant>();
if (providerName == Name) if (providerName == Name)
@ -70,7 +70,7 @@ public class RoleResourcePermissionManagementProvider : ResourcePermissionManage
var resourcePermissionGrant = resourcePermissionGrants.FirstOrDefault(x => x.Name == permissionName); var resourcePermissionGrant = resourcePermissionGrants.FirstOrDefault(x => x.Name == permissionName);
if (resourcePermissionGrant != null) if (resourcePermissionGrant != null)
{ {
multiplePermissionValueProviderGrantInfo.Result[permissionName] = new PermissionValueProviderGrantInfo(true, resourcePermissionGrant.ProviderKey); multiplePermissionValueProviderGrantInfo.Result[permissionName] = new ResourcePermissionValueProviderGrantInfo(true, resourcePermissionGrant.ProviderKey);
} }
} }

Loading…
Cancel
Save