注入IPasswordHasher
public class UserAppService : AbpZeroTemplateAppServiceBase, IUserAppService { private readonly IPasswordHasher<User> _passwordHasher; public UserAppService( IPasswordHasher<User> passwordHasher){ _passwordHasher = passwordHasher; } }
/// <summary> /// 修改密碼 /// </summary> /// <param name="TenantId"></param> /// <param name="userId"></param> /// <param name="OldPwd"></param> /// <param name="Pwd"></param> /// <returns></returns> public async Task<string> UpUserPassWordBy(long TenantId, long userId, string OldPwd, string Pwd) { var user = await UserManager.Users.Where(x => x.Id == userId && x.TenantId == TenantId).FirstOrDefaultAsync(); var pwdBool = await UserManager.CheckPasswordAsync(user, OldPwd); if (pwdBool) { user.Password = user.Password = _passwordHasher.HashPassword(user, Pwd); await UserManager.UpdateAsync(user); return "修改成功"; } else { return "原密碼不正確"; } }