diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
index 498184b9cc..fa1beb9124 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
@@ -173,7 +173,10 @@ public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppSe
(await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors();
}
- (await UserManager.SetLockoutEnabledAsync(user, input.LockoutEnabled)).CheckErrors();
+ if (user.Id != CurrentUser.Id)
+ {
+ (await UserManager.SetLockoutEnabledAsync(user, input.LockoutEnabled)).CheckErrors();
+ }
user.Name = input.Name;
user.Surname = input.Surname;
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
index afa3fd3897..0f66c7131e 100644
--- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
+++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
@@ -129,9 +129,12 @@
@L["DisplayName:IsActive"]
-
- @L["DisplayName:LockoutEnabled"]
-
+ @if (!IsEditCurrentUser)
+ {
+
+ @L["DisplayName:LockoutEnabled"]
+
+ }
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 403e46601d..b219c820a6 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
@@ -41,6 +41,7 @@ public partial class UserManagement
private List UserManagementTableColumns => TableColumns.Get();
private TextRole _passwordTextRole = TextRole.Password;
+ public bool IsEditCurrentUser { get; set; }
public UserManagement()
{
@@ -119,7 +120,7 @@ public partial class UserManagement
try
{
EditModalSelectedTab = DefaultSelectedTab;
-
+ IsEditCurrentUser = entity.Id == CurrentUser.Id;
var userRoleNames = (await AppService.GetRolesAsync(entity.Id)).Items.Select(r => r.Name).ToList();
EditUserRoles = Roles.Select(x => new AssignedRoleViewModel
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
index 28d0fd6da6..3e5a59fe57 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
@@ -39,8 +39,10 @@
-
-
+ @if (!Model.IsEditCurrentUser)
+ {
+
+ }
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties())
{
if (!propertyInfo.Name.EndsWith("_Text"))
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 2b15d794ac..55365498a7 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
@@ -22,6 +22,8 @@ public class EditModalModel : IdentityPageModel
protected IIdentityUserAppService IdentityUserAppService { get; }
+ public bool IsEditCurrentUser { get; set; }
+
public EditModalModel(IIdentityUserAppService identityUserAppService)
{
IdentityUserAppService = identityUserAppService;
@@ -30,7 +32,7 @@ public class EditModalModel : IdentityPageModel
public virtual async Task OnGetAsync(Guid id)
{
UserInfo = ObjectMapper.Map(await IdentityUserAppService.GetAsync(id));
-
+ IsEditCurrentUser = CurrentUser.Id == id;
Roles = ObjectMapper.Map, AssignedRoleViewModel[]>((await IdentityUserAppService.GetAssignableRolesAsync()).Items);
var userRoleNames = (await IdentityUserAppService.GetRolesAsync(UserInfo.Id)).Items.Select(r => r.Name).ToList();