Членство в ASP.NET - заставляйте пользователей использовать предыдущие пароли - PullRequest
5 голосов
/ 05 апреля 2010

Я создал систему входа в систему для своего клиента, теперь они НЕ хотят, чтобы пользователь использовал один из 5 своих последних паролей, когда придет время создавать новый.

Это что-то встроенное или как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 06 апреля 2010

Эта функция не существует в системе входа в систему asp.net. Вы должны реализовать это самостоятельно, на странице автоматического создания пароля.

Вам нужно где-то сохранить предыдущий хэш-список паролей ваших пользователей и проверить этот список непосредственно перед принятием смены пароля.

Обновление

С чего начать:
Начните со всего готового существующего контроля смены пароля.

Вот пример изменения пароля.
http://www.asp.net/cssadapters/Membership/ChangePassword.aspx

В этом элементе управления (который вы можете легко перетаскивать на страницу) захватывает события,

<asp:ChangePassword ID="ChangePassword1" runat="server"    
 onchangingpassword="ChangePassword1_ChangingPassword" ... >...

Включите функцию проверки старых паролей

 protected void ChangePassword1_ChangingPassword(object sender, LoginCancelEventArgs e)
 {
  if (PasswordFoundOnList())
  {
   ... show an error....
   e.Cancel = true;
  }
}

Теперь сохраните где-нибудь последние пароли, например, вы можете сохранить их в профиле пользователя или в своей базе данных.

вот еще немного информации для профиля пользователя. http://www.asp.net/Learn/Ajax/tutorial-03-cs.aspx

Надеюсь, это поможет вам сделать это.

0 голосов
/ 23 сентября 2013

Проверьте этот удивительный пост Ронана Мориарти:

Реализация истории паролей с использованием пользовательского поставщика членства

Это обширный пост, и я использовал вариант 2, как он описывает.Это помогло мне реализовать то, что вы просите.Здесь отлично работает.

...