From a20d6c72ef406450a9a574651bfd3f267b5d91b8 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 31 Mar 2025 17:48:39 +0800 Subject: [PATCH] Use role Id to determine `IsAssigned`. --- .../Pages/Identity/UserManagement.razor.cs | 4 ++-- .../Pages/Identity/Users/EditModal.cshtml.cs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs index a2bf95fa0c..1da55397ee 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs @@ -129,12 +129,12 @@ public partial class UserManagement if (await PermissionChecker.IsGrantedAsync(IdentityPermissions.Users.ManageRoles)) { - var userRoleNames = (await AppService.GetRolesAsync(entity.Id)).Items.Select(r => r.Name).ToList(); + var userRoleIds = (await AppService.GetRolesAsync(entity.Id)).Items.Select(r => r.Id).ToList(); EditUserRoles = Roles.Select(x => new AssignedRoleViewModel { Name = x.Name, - IsAssigned = userRoleNames.Contains(x.Name) + IsAssigned = userRoleIds.Contains(x.Id) }).ToArray(); ChangePasswordTextRole(TextRole.Password); diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs index 69fe59db71..074f3f8481 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs +++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs @@ -45,10 +45,10 @@ public class EditModalModel : IdentityPageModel } IsEditCurrentUser = CurrentUser.Id == id; - var userRoleNames = (await IdentityUserAppService.GetRolesAsync(UserInfo.Id)).Items.Select(r => r.Name).ToList(); + var userRoleIds = (await IdentityUserAppService.GetRolesAsync(UserInfo.Id)).Items.Select(r => r.Id).ToList(); foreach (var role in Roles) { - if (userRoleNames.Contains(role.Name)) + if (userRoleIds.Contains(role.Id)) { role.IsAssigned = true; } @@ -122,6 +122,8 @@ public class EditModalModel : IdentityPageModel public class AssignedRoleViewModel { + public Guid Id { get; set; } + [Required] [HiddenInput] public string Name { get; set; }