Browse Source

feat: 添加重置用户密码

abp/pwd
Hanpaopao 12 months ago
parent
commit
3ae7843d6a
  1. 1
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs
  2. 1
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissions.cs
  3. 16
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/ResetPasswordInput.cs
  4. 5
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IUserAppService.cs
  5. 17
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs
  6. 1
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json
  7. 1
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json
  8. 7
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.HttpApi/Systems/UserController.cs

1
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs

@ -13,6 +13,7 @@ public class BasicManagementPermissionDefinitionProvider : PermissionDefinitionP
var userManagement = abpIdentityGroup.GetPermissionOrNull(IdentityPermissions.Users.Default);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserEnable, L("Permission:Enable"), multiTenancySide: MultiTenancySides.Both);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserExport, L("Permission:Export"), multiTenancySide: MultiTenancySides.Both);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.ResetPassword, L("Permission:ResetPassword"), multiTenancySide: MultiTenancySides.Both);
abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement"), multiTenancySide: MultiTenancySides.Both);
abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.Setting, L("Permission:SettingManagement"), multiTenancySide: MultiTenancySides.Both);

1
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissions.cs

@ -12,6 +12,7 @@ public class BasicManagementPermissions
public const string Default = "AbpIdentity";
public const string UserEnable = Default + ".Users.Enable";
public const string UserExport = Default + ".Users.Export";
public const string ResetPassword = Default + ".Users.ResetPassword";
public const string AuditLog = Default + ".AuditLog";
public const string Setting = Default + ".Setting";
public const string IdentitySecurityLog = Default + ".IdentitySecurityLogs";

16
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/ResetPasswordInput.cs

@ -0,0 +1,16 @@
using Volo.Abp.Account.Localization;
using Volo.Abp.Auditing;
using Volo.Abp.Identity;
using Volo.Abp.Validation;
namespace Lion.AbpPro.BasicManagement.Users.Dtos;
public class ResetPasswordInput
{
public Guid UserId { get; set; }
[Required]
[DisableAuditing]
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxPasswordLength))]
public string Password { get; set; }
}

5
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IUserAppService.cs

@ -48,6 +48,11 @@ namespace Lion.AbpPro.BasicManagement.Users
/// </summary>
Task<bool> ChangePasswordAsync(ChangePasswordInput input);
/// <summary>
/// 重置密码
/// </summary>
Task<bool> RestPasswordAsync(ResetPasswordInput input);
/// <summary>
/// 锁定用户
/// </summary>

17
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs

@ -69,7 +69,6 @@ namespace Lion.AbpPro.BasicManagement.Users
.GetListAsync(request.Sorting, request.MaxResultCount, request.SkipCount, request.Filter);
return ObjectMapper.Map<List<Volo.Abp.Identity.IdentityUser>, List<IdentityUserDto>>(source);
}
/// <summary>
@ -155,6 +154,20 @@ namespace Lion.AbpPro.BasicManagement.Users
return result.Succeeded;
}
/// <summary>
/// 重置
/// </summary>
[Authorize(BasicManagementPermissions.SystemManagement.ResetPassword)]
public virtual async Task<bool> RestPasswordAsync(ResetPasswordInput input)
{
await _options.SetAsync();
var identityUser = await _userManager.GetByIdAsync(input.UserId);
await _userManager.RemovePasswordAsync(identityUser);
var result = await _userManager.AddPasswordAsync(identityUser, input.Password);
result.CheckErrors();
return result.Succeeded;
}
/// <summary>
/// 锁定用户
/// </summary>
@ -178,6 +191,7 @@ namespace Lion.AbpPro.BasicManagement.Users
{
throw new BusinessException(BasicManagementErrorCodes.UserNotExist);
}
return ObjectMapper.Map<Volo.Abp.Identity.IdentityUser, IdentityUserDto>(user);
}
@ -188,6 +202,7 @@ namespace Lion.AbpPro.BasicManagement.Users
{
throw new BusinessException(BasicManagementErrorCodes.UserNotExist);
}
return ObjectMapper.Map<Volo.Abp.Identity.IdentityUser, MyProfileOutput>(user);
}
}

1
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json

@ -9,6 +9,7 @@
"Permission:Delete": "Delete",
"Permission:Export": "Export",
"Permission:Enable": "Enable|Disable",
"Permission:ResetPassword": "ResetPassword",
"Permission:SystemManagement": "SystemManagement",
"Permission:AuditLogManagement": "AuditLog",
"Permission:HangfireManagement": "BackgroundTask",

1
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json

@ -9,6 +9,7 @@
"Permission:Delete": "删除",
"Permission:Export": "导出",
"Permission:Enable": "启用|禁用",
"Permission:ResetPassword": "重置密码",
"Permission:AuditLogManagement": "审计日志",
"Permission:SystemManagement": "系统管理",
"Permission:HangfireManagement": "后台任务",

7
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.HttpApi/Systems/UserController.cs

@ -71,6 +71,13 @@ namespace Lion.AbpPro.BasicManagement.Systems
return _userAppService.ChangePasswordAsync(input);
}
[HttpPost("resetPassword")]
[SwaggerOperation(summary: "重置密码", Tags = new[] { "Users" })]
public Task<bool> RestPasswordAsync(ResetPasswordInput input)
{
return _userAppService.RestPasswordAsync(input);
}
[HttpPost("lock")]
[SwaggerOperation(summary: "锁定用户", Tags = new[] { "Users" })]
public Task LockAsync(LockUserInput input)

Loading…
Cancel
Save