2014-10-14 3 views
0

웹 페이지를 구현하면서 홈페이지를 만들고 있는데, 사용자가 잊어 버린 비밀번호를 복구하기 위해 사용하는 버튼이 있습니다. 그런 다음 내 프로그램은 데이터베이스에서 확인한 후 전자 메일에 대한 링크를 보냅니다. 이 링크는 사용자가 비밀번호를 재설정하도록합니다.링크에서 날짜를 얻는 방법? MVC 5

링크에 날짜를 추가하여 사용자가 재설정 통과 페이지로 리디렉션되는 경우 날짜가 확인되고 1 시간 이상 경과하면 다시해야한다고 알려줍니다. 과정.

그러나 암호 재설정 시간 제한을 처리하는 더 나은 방법이, 당신은

+0

기본 시간 제한을 다시 조정할 수있는 SimpleMembership과 비슷한 것을 사용하고 있습니까? – Damian

+2

대신 'DB'에서 이것을 처리하고 사용자가 재설정을 요청한 날짜와 시간을 저장 한 다음 재설정을 결정할 때 현재 시간을 확인할 수 있습니다. – christiandev

+0

@christiandev와 동의합니다. URL 매개 변수를 사용하면 사용자가 무시할 수 있으므로이 옵션이 가장 좋습니다. – elolos

답변

0

DateTime.Now.Ticks을 사용할 수 있습니다. 이렇게하면 URL에 쉽게 게시되어 DateTime으로 다시 변환 될 수있는 정수가 제공됩니다.

0

확인이 매우 귀하의 질문에 대답하지 않습니다 감사합니다, 나쁜 영어

DateTime saveNow = DateTime.Now;?  

죄송합니다, 제가 사용하십니까. 당신이 당신의 행동에 다음 코드를 사용하는 경우 :

WebSecurity.GeneratePasswordResetToken(emailAddress); 

는 또한 암호 토큰 분, 그렇지 않으면 기본 시간 초과는 24 시간 유효 기간을 지정하는 두 번째 매개 변수로 전달할 수 있습니다.

거기에서 당신은 토큰이 아래에 비슷한 사용하여 bool 유형의 활동에 유효 유효성을 검사 할 수 있습니다 :

var repository = repository.GetByPasswordResetToken(resetToken); 
isValid = membership != null && repository.PasswordVerificationTokenExpirationDate > DateTime.Now; 

이 작업은 서버 측 로직 내에서 WebMatrix를 사용하는 가정을 기반으로합니다.