在asp mvc中更改用户的密码

时间:2016-10-03 08:09:57

标签: asp.net-mvc passwords

我正在制作一个内部网网站,其中包含更改密码的功能。

当用户输入旧密码和新密码时,它会使用当前密码检查旧密码,如果两者都匹配,则会更新数据库中的新密码。

当我查看数据库时,密码列中的值会更改,但如果我尝试使用新密码登录,则不会发生,但会使用旧密码登录。

现在,如果我停止应用程序并再次生成/运行,则会获取更新的密码。

为什么会这样?

 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);
         }
     }

1 个答案:

答案 0 :(得分:0)

不知何故,我设法让它运作起来。我在Membership provider类中使用了一个函数,它没有从数据库中获取更新的值。所以我没有使用它,而是创建了一个获取更新值的单独函数。