2012-07-21 4 views
0

aspnet_Membership 테이블에 "ForgotPasswordDate"라는 새 열을 추가했습니다. 사용자가 암호 복구 제어의 제출 단추를 누르면 getDate() 메서드를 사용하여 "ForgotPasswordDate"열에 사용자가 단추를 눌렀을 때의 타이밍을 저장합니다.aspnet_Membership 테이블에 새 열을 찾을 수 없습니다.

그런 다음 사용자는 ChangePassword.apsx로 URL을 포함하는 전자 메일을 받게됩니다.

사용자가 새 암호를 요청한 날부터 ChangePassword.aspx 페이지가 만료되도록 만들려고했습니다. 이 작업은 "ForgotPasswordDate"열의 시간을 사용하고 AddDay() 메서드를 사용하여 수행됩니다.

그러나 코드에서 문제가 발생했습니다. 나는 그들이 회원 테이블 안의 "ForgotPasswordDate"열을 인식 할 수 없다고 생각합니다. 현재 내가 3 분으로 논리를 설정,

if (DateTime.Now < user.ForgotPasswordDate.AddMinutes(3)) 

테스트 목적 :

에 오류가 있었다 코드입니다. 여기

System.Web.Security.MembershipUser' does not contain a definition for 'ForgotPasswordDate' and no extension method 'ForgotPasswordDate' accepting a first argument of type 'System.Web.Security.MembershipUser' could be found (are you missing a using directive or an assembly reference? 

전체 코드입니다 :

그리고 오류 메시지는

protected void Page_Load(object sender, EventArgs e) 
    { 
     //if the id is in the query string 
    if (!string.IsNullOrEmpty(Request.QueryString["ID"])) 
    { 
     //store the user id 
     Guid userId = new Guid(Request.QueryString["ID"]); 

     //attempt to get the user's information 
     MembershipUser user = Membership.GetUser(userId); 


     if (DateTime.Now < user.ForgotPasswordDate.AddMinutes(3)) //here is the part 
     { 
      //Page not expire yet. 
      hidden.Text = user.ProviderUserKey.ToString(); 
      Server.Transfer("~/ChangePassword.aspx"); 
     } 

     else 
     { 
      //Expired; direct to Page Expired Page 
      Server.Transfer("~/PageExpired.aspx"); 
     } 


    } 
} 

시스템이 aspnet_membership 테이블에 새 열 인식 할 수 어쨌든이 있나요?

답변

0

회원이 사용하는 저장 프로 시저를 찾고 수정하고 새 열을 포함 시키십시오. 그런 다음 새 속성을 포함하도록 현재 멤버십 클래스를 재정의해야 할 수 있습니다.

관련 문제