WebMatrix中的Web安全密码重置无法正常工作

时间:2013-05-29 20:15:09

标签: c# asp.net razor webmatrix

可能重复 Webmatrix WebSecurity not authenticating

这是我的PasswordReset.cshtml页面:

@{
Layout="Layout.cshtml";
var uID = "";
var newPass = "";
var confirmPass = "";
var token = "";
if(IsPost){
uID = Request.Form["userID"];
newPass = Request.Form["newPassword"];
confirmPass=Request.Form["confirmPassword"];
token=WebSecurity.GeneratePasswordResetToken(uID, 5);
WebSecurity.ResetPassword(token, newPass);
}else{
      Response.Redirect("Default");
      }
}

现在,错误消息如下:

  应用程序中的服务器错误。

     

编译错误

     

描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

     

编译器错误消息:CS0103:当前上下文中不存在名称“userID”

     

来源错误:

Line 10: newPass = Request.Form["newPassword"];

Line 11: confirmPass = Request.Form["confirmPassword"];

Line 12: token = WebSecurity.GeneratePasswordResetToken(userID, 5);

Line 13: WebSecurity.ResetPassword(token, newPass); 

我认为代码是正确的,但我无法弄清楚错误的原因。请帮忙。

1 个答案:

答案 0 :(得分:0)

上述上下文中不存在该变量。您正在uId中的Request.Form中存储您的用户ID,所以您的意思是:

WebSecurity.GeneratePasswordResetToken(uID, 5);