From 2beee2ace1f358f68efdac4b0f56a551591a9940 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 4 Mar 2026 20:47:21 +0800 Subject: [PATCH] fix: fix resource permission definition bugs - Fix ResourcePermissionDefinitions not being populated in DynamicPermissionDefinitionStoreInMemoryCache.FillAsync, causing GetResourcePermissionOrNull and GetResourcePermissions to always return empty - Fix StaticPermissionSaver incorrectly using newRecords instead of changedRecords when collecting changed permission names for event notification --- .../DynamicPermissionDefinitionStoreInMemoryCache.cs | 5 +++++ .../Volo/Abp/PermissionManagement/StaticPermissionSaver.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs index 15a98c84dd..f1e6b683c4 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs @@ -59,6 +59,11 @@ public class DynamicPermissionDefinitionStoreInMemoryCache : resourcePermission.IsEnabled); } + foreach (var rp in context.ResourcePermissions) + { + ResourcePermissionDefinitions.Add(rp); + } + var permissions = permissionRecords.Where(x => x.ResourceName.IsNullOrWhiteSpace()).ToList(); foreach (var permissionGroupRecord in permissionGroupRecords) { diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/StaticPermissionSaver.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/StaticPermissionSaver.cs index c672207f4f..492f987f1a 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/StaticPermissionSaver.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/StaticPermissionSaver.cs @@ -281,7 +281,7 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc if (changedRecords.Any()) { - newOrChangedPermissions.AddRange(newRecords.Select(x => x.Name)); + newOrChangedPermissions.AddRange(changedRecords.Select(x => x.Name)); await PermissionRepository.UpdateManyAsync(changedRecords); }