我正在开发一个带有发送令牌的密码恢复系统。我跟随微软的领导,但我不明白一些事情:
现在,我设法进入第3点,但我不知道如何实施它,因为我看到的所有指南都不起作用。
代码如下:
public ActionResult InvioPassword(FormCollection form)
{
if (Request.IsAuthenticated)
{
return RedirectToAction("Manage", "Account");
}
var email = form["email"];
var ttf = new TocFruit();
var psw = ttf.Customers.FirstOrDefault(x => x.CustomerEmail.Equals(email));
string esito = "";
if (psw != null)
{
Email.RecuperaPassword(email, psw.Comment);
esito = "Gentile cliente le abbiamo inviato una mail al suo indirizzo di posta con la sua password.";
}
else
{
esito = "Mail non esistente...";
}
ViewBag.esitoMail = esito;
return View();
}
public static void RecuperaPassword(string email, string password)
{
try
{
//generate password token
var token = WebSecurity.GeneratePasswordResetToken(email);
//create url with above token
var resetLink = "<a href='" + Url.Action("ResetPassword", "Account", new { un = email, rt = token }, "http") + "'>Reset Password</a>";
}
catch (Exception ex)
{
}
}