C# 忘记密码链接将我带到.NETC中的主页#
我在mvc项目中启用了忘记密码,链接已发送到电子邮件,但当我单击链接时,它会将我带到主页,而不是密码重置页面 注意:url是loclalhost:1157/Account/Resetpassword?userid=“user id在链接中”&code=“某些代码在链接中”C# 忘记密码链接将我带到.NETC中的主页#,c#,.net,model-view-controller,asp.net-identity,C#,.net,Model View Controller,Asp.net Identity,我在mvc项目中启用了忘记密码,链接已发送到电子邮件,但当我单击链接时,它会将我带到主页,而不是密码重置页面 注意:url是loclalhost:1157/Account/Resetpassword?userid=“user id在链接中”&code=“某些代码在链接中” 但是视图是主页如果不查看项目外观以及是否为Resetpassword视图设置了ActionResult,则很难评估您的路由。我假设您使用的是razor view而不是aspx 我能做的就是给你举一个我如何通过电子邮件中的链接访
但是视图是主页如果不查看项目外观以及是否为Resetpassword视图设置了ActionResult,则很难评估您的路由。我假设您使用的是razor view而不是aspx 我能做的就是给你举一个我如何通过电子邮件中的链接访问特定站点的例子 我们生成一些html并通过smtp或您正在使用的其他方法发送电子邮件。要单击的链接是一个简单的锚定标记,其href包含url和查询字符串。例如: 电子邮件文本:请单击此处访问密码重置。
锚html:
“Resetpassword”看起来不像我所知道的任何网页。该页面不应该以.aspx或soemthing结尾吗?不,我正在使用mvc和razor视图,而不是aspi。我正在使用mvc和个人身份验证和razor视图。这是url,视图是主页。您尝试过上面的方法吗?您的userId是一个GUID,查询字符串参数类型是否与您发送的类型匹配,即string而不是int?
public ActionResult AuthAprEm(string AutKn)
{
//The token in the email is stored in database
var authDetails =
GenMethods.ExecuteStoredProc("RedeemAuthToken",
new List<string> { "Token" },
new List<object> { AutKn },
"SQL CONNECTION STRING");
//If the token is invalid, return to relevant view for user to see
if (authDetails.Rows.Count == 0)
{
return RedirectToAction("TokenUsed", "Home", new { });
}
else
{
//GET DESIRED INFORMATION FROM DATABASE QUERY, THEN REDIRECT TO DESIRED VIEW
var username = authDetails.Rows[0]["UserName"].ToString();
var userPwd = authDetails.Rows[0]["UserPassword"].ToString();
if (username.ToLower().Contains("tmp_") && userPwd.ToLower().Contains("tmp_"))
{
return RedirectToAction("TempCredWarn", "Home", new { });
}
var authRsp1 = WebAuth.UserAuth(username, userPwd, ConfigurationManager.ConnectionStrings["DbPlaceHolder"].ConnectionString.Replace("{PlcHold}", ConfigurationManager.AppSettings["HostDb"]));
authRsp1.Staib = true;
return RedirectToAction("CreateNewSession", authRsp1);
}
}