Напишете датата на последната промяна на паролата

В процес съм на създаване на ASP.NET C# уебсайт и трябва да изведа последния път, когато потребителят е променил паролата си в етикет.

Трябва ли да създам отделна таблица в моята база данни за това? Или има функция, която мога просто да извикам отнякъде?

Направих някои изследвания и смятам, че трябва да използвам:

public virtual DateTime LastPasswordChangedDate { get; }

Но не мога да намеря как да внедря това в моя уебсайт, тъй като всички примери с това, които мога да намеря, просто го използват, за да създадат система, която да принуди потребителите да променят паролата си след определен период от време и да не записват текущата стойност в низ.

Всяка помощ ще бъде високо оценена.

Проблема решен,

MembershipUser u = Membership.GetUser();
PWChangeDateLabel.Text = u.LastPasswordChangedDate.ToString("d/m/yyyy"); 

person CyrielZ    schedule 09.04.2014    source източник
comment
Как се справяте с удостоверяването? Използвате ли база данни на доставчик на членство   -  person theedam    schedule 09.04.2014
comment
Нямам много опит с бази данни, надявам се това да отговори на въпроса ви. За потребителско въвеждане използвах инструментите за влизане на Miscrosoft V4.0.0.0. Той е свързан към база данни на SQL Server 2008   -  person CyrielZ    schedule 09.04.2014
comment
Правите ли страница, която показва всички потребители и датата и часа на последната им промяна на паролата? Или това е за отделен потребителски профил? Не че наистина има значение, по същество или каквито и класове за удостоверяване да използвате, ще имат свойството да казват LastPassWordChanged или ще трябва да напишете заявка, за да изберете тази информация от базата данни   -  person theedam    schedule 09.04.2014
comment
Когато потребител влезе в моя уебсайт, той получава страница, където може да види и редактира собствените си потребителски настройки, включително паролата си. Искам да покажа последния път, когато са променили паролата си там.   -  person CyrielZ    schedule 09.04.2014
comment
Ако не използвате SqlMembershipProvider, трябва да го използвате, тъй като ще ви предложи това, което искате, и има много вградени контроли и функции asp.net/web-forms/tutorials/security/membership/   -  person theedam    schedule 09.04.2014


Отговори (2)


Предполагам, че използвате SqlMembershipProvider като ваш доставчик на членство?

Просто трябва да можете да използвате нещо подобно:

MembershipUser u = Membership.GetUser("[email protected]");
txtPasswordChanged.Text = u.LastPasswordChangedDate.ToString("M/d/yyyy"); 
person Keir    schedule 09.04.2014

Не е задължително да принуждавате потребителите да променят паролите си след определен период от време, но можете да създадете поле във вашата таблица (където съхранявате вашите потребителски акаунти) и да го актуализирате всеки път, когато потребителят промени паролата си.

Въпреки че примерите, които сте открили, не използват това поле за вашата цел, но всъщност това е правилният начин да постигнете това, което искате. Просто трябва да актуализирате кода си за промяна на паролата, за да актуализирате и това поле.

person bilal.haider    schedule 09.04.2014