Browse Source

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
pull/25017/head
maliming 7 months ago
parent
commit
2beee2ace1
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 5
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs
  2. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/StaticPermissionSaver.cs

5
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/DynamicPermissionDefinitionStoreInMemoryCache.cs

@ -59,6 +59,11 @@ public class DynamicPermissionDefinitionStoreInMemoryCache :
resourcePermission.IsEnabled); resourcePermission.IsEnabled);
} }
foreach (var rp in context.ResourcePermissions)
{
ResourcePermissionDefinitions.Add(rp);
}
var permissions = permissionRecords.Where(x => x.ResourceName.IsNullOrWhiteSpace()).ToList(); var permissions = permissionRecords.Where(x => x.ResourceName.IsNullOrWhiteSpace()).ToList();
foreach (var permissionGroupRecord in permissionGroupRecords) foreach (var permissionGroupRecord in permissionGroupRecords)
{ {

2
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()) if (changedRecords.Any())
{ {
newOrChangedPermissions.AddRange(newRecords.Select(x => x.Name)); newOrChangedPermissions.AddRange(changedRecords.Select(x => x.Name));
await PermissionRepository.UpdateManyAsync(changedRecords); await PermissionRepository.UpdateManyAsync(changedRecords);
} }

Loading…
Cancel
Save