要确定ASP .Net Core 3.1的ChangePasswordAsync方法是否在GitHub上可用,可以按照以下步骤进行解决:
以下是一个示例代码,演示了如何使用ChangePasswordAsync方法:
using Microsoft.AspNetCore.Identity;
public class ChangePasswordViewModel
{
public string CurrentPassword { get; set; }
public string NewPassword { get; set; }
}
public class AccountController : Controller
{
private readonly UserManager _userManager;
public AccountController(UserManager userManager)
{
_userManager = userManager;
}
[HttpPost]
public async Task ChangePassword(ChangePasswordViewModel model)
{
if (ModelState.IsValid)
{
var user = await _userManager.GetUserAsync(User);
if (user != null)
{
var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.NewPassword);
if (result.Succeeded)
{
// 密码已成功更改
return RedirectToAction("ChangePasswordConfirmation");
}
else
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error.Description);
}
}
}
else
{
ModelState.AddModelError("", "用户不存在");
}
}
return View(model);
}
}
请注意,这只是一个示例代码,具体的实现方式可能会有所不同。要获得准确的信息,请查阅官方文档或相关的GitHub仓库。
上一篇:ASP .Net Core 3.1 Angular模板无法正常工作。
下一篇:Asp .net Core 3.1 多个AuthenticationScheme下的ClaimsIdentity转换