2010-04-05 170 views
4

我爲我的客戶創建了一個會員登錄系統,現在他們不希望用戶在創建新密碼時使用他最後一個密碼中的一個。ASP.NET會員資格 - 保持用戶使用以前的密碼

這是內置的東西或我怎麼能做到這一點?

+3

當系統被設計成這樣的時候,我只是把我的密碼改成'hunter3','hunter4','hunter5','hunter6','hunter7',然後返回到'\ * \ * \ * \ * \ * *'再次。 – 2010-04-05 19:53:31

回答

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

希望這個幫助你做到。

+3

個人資料是存儲此數據的好地方。 – 2010-04-07 00:02:35

+0

謝謝你的幫助,你碰巧知道是否有人以前做過,也許有一些代碼示例。我不知道這將如何工作。 – Steve 2010-04-07 13:42:23

+0

好吧,我有更多的信息更新我的答案。 – Aristos 2010-04-07 14:17:10