diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs index 9432923785..185e31a1f4 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs @@ -174,6 +174,8 @@ public class IdentityUserManager : UserManager, IDomainService var user = await UserRepository.GetAsync(userId, cancellationToken: CancellationToken); user.RemoveOrganizationUnit(ouId); await UserRepository.UpdateAsync(user, cancellationToken: CancellationToken); + + await DynamicClaimCache.RemoveAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(user.Id, user.TenantId), token: CancellationToken); } public virtual async Task RemoveFromOrganizationUnitAsync(IdentityUser user, OrganizationUnit ou) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/OrganizationUnitManager.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/OrganizationUnitManager.cs index cf4c58107b..ffca834cde 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/OrganizationUnitManager.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/OrganizationUnitManager.cs @@ -200,9 +200,9 @@ public class OrganizationUnitManager : DomainService public virtual async Task RemoveRoleFromOrganizationUnitAsync(IdentityRole role, OrganizationUnit organizationUnit) { + await RemoveDynamicClaimCacheAsync(organizationUnit); organizationUnit.RemoveRole(role.Id); await OrganizationUnitRepository.UpdateAsync(organizationUnit); - await RemoveDynamicClaimCacheAsync(organizationUnit); } protected virtual async Task RemoveDynamicClaimCacheAsync(OrganizationUnit organizationUnit)