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 테이블에 새 열 인식 할 수 어쨌든이 있나요?