ASP.NET成员资格 - 让用户使用以前的密码

时间:2010-04-05 19:46:03

标签: asp.net passwords asp.net-membership membership-provider

我为我的客户创建了会员登录系统,现在他们不希望用户在创建新密码时使用他最后5个密码中的一个。

这是内置的东西还是我如何实现?

2 个答案:

答案 0 :(得分:4)

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

希望这有助于你实现目标。

答案 1 :(得分:0)

查看Ronan Moriarty撰写的这篇精彩文章:

Implementing Password History using a Custom Membership Provider

这是一个广泛的帖子,我使用选项2,因为他描述。它帮助我实现了你的要求。它在这里工作得很好。