From 39b60db9f52c6ea639c4263aaf1184dfc455b75c Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 15 Nov 2025 14:34:44 +0800 Subject: [PATCH] Refactor permission grant info types in role provider --- .../AbpPermissionManagementDomainIdentityModule.cs | 4 ---- .../Identity/RoleResourcePermissionManagementProvider.cs | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/AbpPermissionManagementDomainIdentityModule.cs b/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/AbpPermissionManagementDomainIdentityModule.cs index 483fae7f20..bd2f0d8324 100644 --- a/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/AbpPermissionManagementDomainIdentityModule.cs +++ b/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(); options.ResourceManagementProviders.Add(); - - //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"; }); } } diff --git a/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RoleResourcePermissionManagementProvider.cs b/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RoleResourcePermissionManagementProvider.cs index 8b77face53..21bc1a1b86 100644 --- a/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RoleResourcePermissionManagementProvider.cs +++ b/modules/identity/src/Volo.Abp.PermissionManagement.Domain.Identity/Volo/Abp/PermissionManagement/Identity/RoleResourcePermissionManagementProvider.cs @@ -29,18 +29,18 @@ public class RoleResourcePermissionManagementProvider : ResourcePermissionManage UserRoleFinder = userRoleFinder; } - public override async Task CheckAsync(string name, string resourceName, string resourceKey, string providerName, string providerKey) + public override async Task CheckAsync(string name, string resourceName, string resourceKey, string providerName, string providerKey) { var multipleGrantInfo = await CheckAsync(new[] { name }, resourceName, resourceKey, providerName, providerKey); return multipleGrantInfo.Result.Values.First(); } - public override async Task CheckAsync(string[] names, string resourceName, string resourceKey, string providerName, string providerKey) + public override async Task CheckAsync(string[] names, string resourceName, string resourceKey, string providerName, string providerKey) { using (ResourcePermissionGrantRepository.DisableTracking()) { - var multiplePermissionValueProviderGrantInfo = new MultiplePermissionValueProviderGrantInfo(names); + var multiplePermissionValueProviderGrantInfo = new MultipleResourcePermissionValueProviderGrantInfo(names); var resourcePermissionGrants = new List(); if (providerName == Name) @@ -70,7 +70,7 @@ public class RoleResourcePermissionManagementProvider : ResourcePermissionManage var resourcePermissionGrant = resourcePermissionGrants.FirstOrDefault(x => x.Name == permissionName); if (resourcePermissionGrant != null) { - multiplePermissionValueProviderGrantInfo.Result[permissionName] = new PermissionValueProviderGrantInfo(true, resourcePermissionGrant.ProviderKey); + multiplePermissionValueProviderGrantInfo.Result[permissionName] = new ResourcePermissionValueProviderGrantInfo(true, resourcePermissionGrant.ProviderKey); } }