PasswordReset与WebSecurity在WebMatrix不工作

本文关键字:工作 WebMatrix WebSecurity PasswordReset | 更新日期: 2023-09-27 18:15:52

可能重复Webmatrix WebSecurity未验证

这是我的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); 

我认为代码是正确的,但是我不能找出错误的原因。请帮助。

PasswordReset与WebSecurity在WebMatrix不工作

这个变量在上面的上下文中不存在。您正在存储来自请求的用户Id。形式在uId,所以你的意思是:

WebSecurity.GeneratePasswordResetToken(uID, 5);