我正在制作一个内部网网站,其中包含更改密码的功能。
当用户输入旧密码和新密码时,它会使用当前密码检查旧密码,如果两者都匹配,则会更新数据库中的新密码。
当我查看数据库时,密码列中的值会更改,但如果我尝试使用新密码登录,则不会发生,但会使用旧密码登录。
现在,如果我停止应用程序并再次生成/运行,则会获取更新的密码。
为什么会这样?
public JsonResult ChangePwd(string OldPwd, string NewPwd)
{
string username = User.Identity.Name.ToUpper();
USER_DET temp = objUser.getUserByName(username);
if (temp.Password.ToString() == OldPwd.ToUpper())
{
temp.Password = NewPwd.ToUpper();
objUser.Update(temp);
var data2 = new[] {
new { Text="True", Value="1" }//Password Changed
};
return Json(data2, JsonRequestBehavior.AllowGet);
}
else
{
var data2 = new[] {
new { Text="False", Value="1" }//Password didnt match... no changes
};
return Json(data2, JsonRequestBehavior.AllowGet);
}
}
答案 0 :(得分:0)
不知何故,我设法让它运作起来。我在Membership provider类中使用了一个函数,它没有从数据库中获取更新的值。所以我没有使用它,而是创建了一个获取更新值的单独函数。