Share via


Cómo: Habilitar la recuperación de contraseñas de usuario mediante el control PasswordRecovery de ASP.NET

Actualización: noviembre 2007

Si la aplicación utiliza la suscripción de ASP.NET para la autenticación, puede habilitar la recuperación de la contraseña en la aplicación mediante el control PasswordRecovery. La aplicación enviará su contraseña actual o una nueva contraseña a los usuarios, en función de cómo esté configurado el proveedor de suscripciones. De manera predeterminada, ASP.NET aplica un valor hash a contraseñas mediante un esquema de cifrado no reversible, por lo que se envía una nueva contraseña al usuario. Si el proveedor de suscripciones está configurado para cifrar o guardar contraseñas en texto no cifrado (lo que no se recomienda), entonces se envía la contraseña actual del usuario.

Para recuperar una contraseña, la aplicación debe poder enviar un mensaje de correo electrónico al usuario. Por consiguiente, se debe configurar la aplicación con el nombre de un servidor SMTP al que pueda reenviar mensajes de correo electrónico. Para obtener más información, vea la clase SmtpClient y Cómo: Instalar y configurar servidores virtuales SMTP en IIS 6.0.

Para habilitar la recuperación de la contraseña

  1. Cree o edite una página Web de ASP.NET en el sitio que sea accesible a usuarios anónimos (por ejemplo, RecoverPassword.aspx). En un sitio Web autenticado, puede utilizar el elemento de configuración location para especificar que se permite el acceso a una página de forma anónima, tal como se muestra en el ejemplo siguiente:

    <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. Coloque un control PasswordRecovery en la página tal como se muestra en el ejemplo siguiente:

    <asp:PasswordRecovery ID="PasswordRecovery1" Runat="server">
    </asp:PasswordRecovery>
    
  3. Configure, opcionalmente, las plantillas siguientes para personalizar el aspecto de ese control PasswordRecovery: UserNameTemplate, QuestionTemplate y SuccessTemplate.

Vea también

Referencia

Información general sobre controles de inicio de sesión de ASP.NET