2011-04-06 59 views

回答

5

假設在的Web.configrequiresQuestionAndAnswer="true"您的會員提供商(「AspNetSqlMembershipProvider」),使第二提供商(如「AspNetSqlMembershipProviderAdministrativeReset」)與所有相同的設置,除了requiresQuestionAndAnswer="false"

然後你就可以創建一個明確使用第二提供商允許管理員無需正確答案的安全問題重置密碼,如下面的代碼片段的動作:

var provider = Membership.Providers["AspNetSqlMembershipProviderAdministrativeReset"] as MembershipProvider; 
var newPassword = provider.ResetPassword(userName, null /* answer */); 
1

在行政您網站上的網頁,你可以簡單地通過先獲得用戶的保持重設密碼:

// Assume user name is 'theuser'. Obviously you would get this beforehand 
MembershipUser user = Membership.GetUser("theuser"); 
string newPassword = user.ResetPassword(); 

:您現在可以在「新密碼」自動生成的密碼。你可以通過電子郵件發送給用戶。

還有其他方法可以完成此操作。會員數據庫非常開放,所以你可以想出入門系統來自己獲得所需的新密碼,並將哈希值放在那裏。請評論,如果你需要更多的細節。它不一定非常困難。