2016-10-03 16 views
0

私は、パスワードを変更する機能があるイントラネットのWebサイトを作っています。asp mvcのユーザーのパスワードを変更

ユーザーが古いパスワードと新しいパスワードを入力すると、古いパスワードが現在のパスワードでチェックされ、一致する場合はデータベースの新しいパスワードが更新されます。

データベースを見ると、[パスワード]列の値は変更されますが、新しいパスワードでログインしようとすると、それは起こりませんが古いパスワードでログインします。

今すぐアプリケーションを停止し、再度ビルド/実行すると、更新されたパスワードが使用されます。

なぜこのようなことが起こっていますか?

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

いくつかのコードを含む詳細情報を投稿すると便利です。 – 0xDECAFBAD

+2

*新しいパスワードでログインしようとすると、それは起こらないが、古いパスワードでログインする*あなたのログイン方法をデバッグしてください。 –

+1

@Div .....ありがとうございました。あなたは、Loginメソッドにいくつかの問題があったと思います。 – Sudhanshu

答えて

0

何とか私はそれを動作させることができました。私はデータベースから更新された値を取得していないメンバシッププロバイダクラスの関数を使用していました。だから私はそれを使用する代わりに、私は更新された値を取得している別の関数を作成しました。

関連する問題