2016-10-03 3 views
0

비밀번호 변경 기능이있는 인트라넷 웹 사이트를 만들고 있습니다.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 ..... 감사합니다. 로그인 방법에 몇 가지 문제가있었습니다. – Sudhanshu

답변

0

어쨌든 나는 그것을 얻을 수 있었다. 멤버쉽 공급자 클래스에서 데이터베이스에서 업데이트 된 값을 가져 오지 못하는 함수를 사용하고있었습니다. 그래서 그것을 사용하는 대신 업데이트 된 값을 얻는 별도의 함수를 만들었습니다.

관련 문제