2011-06-06 125 views
0

我仍在搜索StackOverFlow以及innertubes,但還沒有找到我需要做的示例。asp.net會員通過用戶和管理員自定義更改密碼

  1. 如果用戶忘記了自己的密碼,他們正確地回答他們的問題提醒,向用戶顯示兩個表單字段輸入新密碼;未通過電子郵件發送或顯示隨機生成的密碼。

  2. 如果用戶呼叫支持中心,管理員可以更改密碼,提醒問題和答案。

感謝,

詹姆斯

回答

2

只需使用此代碼:

var user = Membership.GetUser(username); 
user.ChangePassword(user.ResetPassword(), newPassword); 

這只是第一重設密碼,然後將它更改爲新的密碼,你不需要知道重置的中間密碼

+0

好的。我堅持的部分是使用密碼恢復嚮導,我是否使用PasswordRecovery的「OnSendingMail」(不發送電子郵件)來顯示新密碼的兩個輸入字段,當提交時調用一個方法來執行您所陳述的內容? – James 2011-06-06 17:55:55

+0

是的,使用'SendingMail'事件可以防止發送郵件。這是因爲'MailMessageEventArgs'(假設'e')具有一個名爲'Cancel'的屬性,您可以通過在事件處理程序中設置'e.Cancel = true;'來取消發送郵件。 – 2011-06-06 18:03:16

+0

正確,我明白了。我想知道是否在用戶提交他們的答案並且匹配之後,讓我們說一個面板顯示要提交的新密碼錶單。 – James 2011-06-06 18:27:53