Browse Source

Add ClientDeletedEventHandler for permission cleanup

pull/24515/head
maliming 1 month ago
parent
commit
7dd53d8c16
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 31
      modules/identityserver/src/Volo.Abp.PermissionManagement.Domain.IdentityServer/Volo/Abp/PermissionManagement/IdentityServer/ClientDeletedEventHandler.cs

31
modules/identityserver/src/Volo.Abp.PermissionManagement.Domain.IdentityServer/Volo/Abp/PermissionManagement/IdentityServer/ClientDeletedEventHandler.cs

@ -0,0 +1,31 @@
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Authorization.Permissions.Resources;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.IdentityServer.Clients;
using Volo.Abp.Uow;
namespace Volo.Abp.PermissionManagement.IdentityServer;
public class ClientDeletedEventHandler :
IDistributedEventHandler<EntityDeletedEto<ClientEto>>,
ITransientDependency
{
protected IPermissionManager PermissionManager { get; }
protected IResourcePermissionManager ResourcePermissionManager { get; }
public ClientDeletedEventHandler(IPermissionManager permissionManager, IResourcePermissionManager resourcePermissionManager)
{
PermissionManager = permissionManager;
ResourcePermissionManager = resourcePermissionManager;
}
[UnitOfWork]
public virtual async Task HandleEventAsync(EntityDeletedEto<ClientEto> eventData)
{
await PermissionManager.DeleteAsync(ClientPermissionValueProvider.ProviderName, eventData.Entity.ClientId);
await ResourcePermissionManager.DeleteAsync(ClientResourcePermissionValueProvider.ProviderName, eventData.Entity.ClientId);
}
}
Loading…
Cancel
Save