HOW TO:使用 ASP.NET PasswordRecovery 控制項啟用使用者密碼復原
更新:2007 年 11 月
如果應用程式使用 ASP.NET 成員資格進行驗證 (Authentication),您可以使用 PasswordRecovery 控制項啟用應用程式中的密碼復原。應用程式會依據成員資格提供者的設定方式,將目前的密碼或新密碼傳送給使用者。根據預設,ASP.NET 會使用無法復原的加密機制雜湊密碼,以將新的密碼傳送給使用者。如果成員資格提供者設定為使用純文字方式加密或儲存密碼 (這不是建議的做法),就會傳送使用者目前的密碼。
若要復原密碼,您的應用程式必須能夠將電子郵件訊息傳送給使用者。因此應用程式必須使用能夠轉寄電子郵件訊息的 SMTP 伺服器名稱進行設定。如需詳細資訊,請參閱 SmtpClient 類別和 HOW TO:在 IIS 6.0 中安裝和設定 SMTP 虛擬伺服器。
若要啟用密碼復原
在站台上建立或編輯匿名使用者能夠存取的 ASP.NET Web 網頁 (例如,RecoverPassword.aspx)。在已驗證的網站中,您可以使用位置組態項目指定是否能夠匿名存取網頁,如下列程式碼範例所示:
<configuration> <location path="RecoverPassword.aspx"> <system.web> <authorization> <allow users="?" /> </authorization> </system.web> </location> <system.web> <authentication mode="Forms" > <forms loginUrl="UserLogin.aspx" /> </authentication> <authorization> <deny users="?" /> </authorization> </system.web> </configuration>
將 PasswordRecovery 控制項放在網頁上,如下列程式碼範例所示:
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server"> </asp:PasswordRecovery>
選擇性地設定下列範本,以自訂 PasswordRecovery 控制項的外觀:UserNameTemplate、QuestionTemplate 和 SuccessTemplate。