feat 增加密码重置功能
This commit is contained in:
@@ -98,4 +98,14 @@ public class UsersController : ControllerBase
|
|||||||
{
|
{
|
||||||
await _userService.ResetLoginTenantAsync(request);
|
await _userService.ResetLoginTenantAsync(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 密码重置
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
[HttpPost("password/reset")]
|
||||||
|
public async Task ResetPasswordAsync(UserResetPasswordRequest request)
|
||||||
|
{
|
||||||
|
await _userService.ResetPasswordAsync(request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
namespace Dlhis.Sys.Identity.Request;
|
||||||
|
|
||||||
|
public class UserResetPasswordRequest
|
||||||
|
{
|
||||||
|
public int UserId { get; set; }
|
||||||
|
public string Password { get; set; }
|
||||||
|
}
|
||||||
@@ -22,4 +22,6 @@ public interface IUserService : IScopeDependency
|
|||||||
Task CreateUserAsync(UserCreateRequest request);
|
Task CreateUserAsync(UserCreateRequest request);
|
||||||
|
|
||||||
Task ResetLoginTenantAsync(UserResetLoginTenantRequest request);
|
Task ResetLoginTenantAsync(UserResetLoginTenantRequest request);
|
||||||
|
|
||||||
|
Task ResetPasswordAsync(UserResetPasswordRequest request);
|
||||||
}
|
}
|
||||||
@@ -158,4 +158,19 @@ public class UserService : IUserService
|
|||||||
.Where(x => x.ClaimType == "tenants")
|
.Where(x => x.ClaimType == "tenants")
|
||||||
.ExecuteCommandAsync();
|
.ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public async Task ResetPasswordAsync(UserResetPasswordRequest request)
|
||||||
|
{
|
||||||
|
request.Password ??= "123456";
|
||||||
|
var user = await _identityDbContext.Queryable<UserEntity>().SingleAsync(x => x.Id == request.UserId);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
var hasher = new PasswordHasher<UserEntity>();
|
||||||
|
var password = hasher.HashPassword(user, request.Password);
|
||||||
|
user.PasswordHash = password;
|
||||||
|
|
||||||
|
await _identityDbContext.UpdateAsync(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user