【发布时间】:2019-01-21 04:38:21
【问题描述】:
我一直在关注这个article
文章似乎并不完整。
这是我根据文章创建的用于生成忘记密码链接的 Web API。
public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
{
if (ModelState.IsValid)
{
var user = await UserManager.FindByNameAsync(model.Email);
if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id)))
{
// Don't reveal that the user does not exist or is not confirmed
return View("ForgotPasswordConfirmation");
}
var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
var callbackUrl = Url.Action("**ResetPassword**", "Account",
new { UserId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Reset Password",
"Please reset your password by clicking here: <a href=\"" + callbackUrl + "\">link</a>");
return View("ForgotPasswordConfirmation");
}
// If we got this far, something failed, redisplay form
return View(model);
}
我们可以看到 ResetPassword 是在我们的收件箱中单击链接时应该调用的 URL 操作。但是文章没有给出 ResetPassword API 的方法定义。
【问题讨论】:
-
步骤 1) 创建一个新的 ASP.NET 项目并选择身份验证 > 本地用户。步骤 2) 将您想要的代码复制到您的项目中。完成
-
卡米洛可能确实有帮助。但是,互联网上没有资源可以谈论这个嗯?
-
不确定,但代码是自动生成的代码的复制粘贴。另外,如果你刚开始,你应该从 ASP.NET Core 开始,ASP.NET MVC 5 不会持续很长时间
标签: c# asp.net-web-api asp.net-identity