Написать Дата последней смены пароля

Я нахожусь в процессе создания веб-сайта 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