天天看点

ASP.NET - 如何:使用 ASP.NET PasswordRecovery 控件启用用户密码恢复

      如果应用程序使用 ASP.NET 成员资格进行身份验证,可以使用 PasswordRecovery 控件在该应用程序中启用密码恢复。此时,应用程序将会向用户发送其当前的密码或新密码,具体情况视成员资格提供程序的配置方式而定。默认情况下,ASP.NET 会使用不可逆的加密方案对密码进行哈希处理,然后将新密码发送给用户。如果成员资格提供程序经过配置,可以对密码进行加密或以明文形式(不建议使用)存储密码,将会发送该用户的当前密码。

若要恢复密码,应用程序必须可以向用户发送电子邮件。因此,必须使用 SMTP 服务器的名称对应用程序进行配置,使应用程序可以向该服务器转发电子邮件。

1、在匿名用户可以访问的站点上创建或编辑 ASP.NET 网页(例如,RecoverPassword.aspx)。在经过身份验证的网站上,可以使用 location 配置元素指定可以匿名访问某页,如以下示例所示:

<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>

2、将 PasswordRecovery 控件放置在页中,如以下示例所示:

<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server">

</asp:PasswordRecovery>

3、或者,配置下列模板以自定义该 PasswordRecovery 控件的外观:UserNameTemplate、QuestionTemplate 和 SuccessTemplate。

继续阅读