Tutorial: Crear un sitio web con pertenencia e inicio de sesión de usuarios

Actualización: noviembre 2007

Un requisito común para los sitios Web es permitir que sólo algunos miembros u otros usuarios autenticados puedan ver ciertas páginas. En ese caso, la aplicación debe pedir al usuario un nombre y contraseña. La aplicación también debe incluir una manera de ocultar información a los usuarios anónimos (usuarios que no hayan iniciado sesión). Este tutorial muestra cómo utilizar los controles ASP.NET y los servicios de suscripción de ASP.NET para crear una aplicación que realiza todas esas tareas. Para obtener más información, vea Introducción a la suscripción.

Las tareas ilustradas en este tutorial incluyen:

  • Configurar una aplicación para incluir los servicios de suscripción de ASP.NET y cómo definir a los usuarios.

  • Utilizar controles de inicio de sesión para obtener las credenciales del usuario y mostrar información a los usuarios que hayan iniciado sesión.

  • Proteger una o más paginas de la aplicación para que sólo puedan verlas los usuarios que han iniciado sesión.

  • Permitir que nuevos usuarios se registren en el sitio.

  • Permitir que los miembros cambien y restablezcan sus contraseñas.

Requisitos previos

Para poder completar este tutorial, necesitará:

  • Microsoft Visual Web Developer.

  • Microsoft Internet Information Services (IIS) instalado localmente en el equipo.

  • SQL Server Express instalado localmente en el equipo.

  • Microsoft Data Access Components (MDAC) versión 2.7 o posterior. Si utiliza Microsoft Windows XP o Windows Server 2003, ya dispone de MDAC 2.7. Sin embargo, si utiliza Microsoft Windows 2000, es posible que tenga que actualizar la versión de MDAC instalada en el equipo. Para obtener más información, vea "Microsoft Data Access Components (MDAC) Installation" en MSDN Library.

  • Tener acceso a un servidor de correo electrónico que pueda reenviar mensajes de correo electrónico. (No es necesario que el servidor reciba mensajes.) IIS incluye el servidor virtual SMTP predeterminado, un servidor de correo que es conveniente utilizar para este tutorial. Para obtener más información sobre cómo configurar el servidor, vea Cómo: Instalar y configurar servidores virtuales SMTP en IIS 6.0. Si está trabajando en una red de área local, compruebe con el administrador de la red los datos sobre el acceso a un servidor de correo electrónico.

Crear el sitio Web

Si ya ha creado un sitio Web en Microsoft Visual Studio (por ejemplo, trabajando con el tema Tutorial: Crear una página Web básica en Visual Web Developer), puede utilizar ese sitio Web y pasar a la sección "Configurar la suscripción" del tutorial. De lo contrario, cree un sitio Web y una página nuevos siguiendo estos pasos.

Para crear un sitio Web local de IIS

  1. Abra Visual Studio.

  2. En el menú Archivo, haga clic en Nuevositio Web.

    Aparece el cuadro de diálogo Nuevo sitio Web.

  3. En Plantillas instaladas de Visual Studio, seleccione Sitio Web ASP.NET.

  4. En la lista Ubicación, haga clic en HTTP. Haga clic en Examinar.

    Aparecerá el cuadro de diálogo Elegir ubicación.

  5. Seleccione IIS local.

  6. Abra Servidores Web locales.

  7. Seleccione Sitio Web predeterminado.

  8. Haga clic en el icono Crear nueva aplicación Web () que se encuentra sobre la lista de sitios Web y, a continuación, asigne el nombre membership al nuevo sitio Web.

  9. Haga clic en Abrir.

    Se cerrará el cuadro de diálogo Elegir ubicación.

  10. En el cuadro Lenguaje, haga clic en el lenguaje de programación con el que prefiera trabajar.

    El lenguaje de programación que elija será el lenguaje predeterminado de su sitio Web, sin embargo, también puede establecer el lenguaje de programación en cada página de forma individual.

  11. Haga clic en Aceptar en el cuadro de diálogo Nuevo sitio Web.

    Visual Web Developer crea el sitio Web y una nueva página denominada Default.aspx.

Configurar la suscripción

Más adelante en este tutorial colocará páginas en un subdirectorio protegido. Ahora debe crear el subdirectorio para que pueda configurar después su seguridad en el tutorial.

Para agregar una nueva carpeta al sitio Web

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nombre del sitio Web y haga clic en Nueva carpeta.

  2. Asigne el nombre MemberPages a la carpeta.

Antes de trabajar con la suscripción de ASP.NET, debe configurar la aplicación para habilitar la suscripción y configurar los usuarios. Puede utilizar la herramienta Administración de sitios Web, que proporciona una interfaz parecida a un asistente para establecer opciones de configuración. Al completar el Asistente para instalación, una base de datos de SQL Server denominada ASPNETDB.MDF se crea en la carpeta App_Data del proyecto.

Para este tutorial, definirá un usuario único.

Para crear un usuario suscrito

  1. En el menú Sitio Web, haga clic en Configuración de ASP.NET.

  2. Seleccione la ficha Seguridad, haga clic en el vínculo a Usar el asistente de configuración de seguridad para definir la seguridad paso a paso y, a continuación, haga clic en Siguiente.

  3. Continúe con el paso 2 del asistente y seleccione la opción Desde Internet.

    El asistente muestra una página donde puede seleccionar el método de autenticación que el sitio Web utilizará. Esta opción especifica que la aplicación utilizará la autenticación de formularios, en la cual los usuarios inician sesión en la aplicación con una página de inicio de sesión que crearemos más adelante en el tutorial.

  4. Haga clic en Siguiente.

    El asistente muestra un mensaje que indica que la información del usuario se almacenará utilizando Configuración de proveedores avanzada. De forma predeterminada, la información de suscripción se almacena en un archivo de base de datos de Microsoft SQL Server Express en la carpeta App_Data del sitio Web.

  5. Haga clic en Siguiente.

    El asistente muestra una opción para crear funciones. Este paso se realizará de forma independiente más adelante en el tutorial. Por consiguiente, no active la casilla Habilitar funciones para este sitio Web.

  6. Haga clic en Siguiente.

    El asistente muestra una página donde puede crear nuevos usuarios.

  7. Escriba información que defina a un usuario de la aplicación. Utilice los valores siguientes como directrices (puede utilizar los valores que desee, pero anote la información que introduzca para utilizarla posteriormente en el tutorial):

    • Nombre de usuario   Su nombre (sin espacios) o un nombre de ejemplo.

    • Contraseña   Una contraseña. Se requiere una contraseña segura (una que incluya mayúsculas y minúsculas, signos de puntuación y tenga al menos ocho caracteres).

    • Correo electrónico   Su dirección de correo electrónico personal. Más adelante en el tutorial se enviará a sí mismo un mensaje de correo electrónico, por lo que necesita una dirección de correo electrónico válida.

    • Pregunta de seguridad y Respuesta de seguridad   Escriba una pregunta y respuesta que pueda utilizar después si necesita recuperar su contraseña.

  8. Haga clic en Create User.

    El asistente muestra una página de confirmación.

    Nota:

    Deje abierta la herramienta Administración de sitios Web.

Anteriormente en el tutorial creó una carpeta denominada MemberPages. En esta parte del tutorial, creará una regla que se asegura de que sólo usuarios que han iniciado sesión puedan tener acceso a las páginas de esa carpeta.

Para configurar reglas de acceso para el subdirectorio MemberPages

  1. En el asistente, haga clic en Siguiente.

    El asistente muestra una página que permite crear reglas de acceso.

  2. En el cuadro Agregar nueva regla de acceso, expanda el nodo correspondiente a su sitio Web.

  3. Seleccione la carpeta MemberPages que creó anteriormente.

  4. En La regla se aplica a, seleccione Usuarios anónimos.

  5. En Permisos, seleccione Denegar.

    La regla que está creando deniega el acceso a los usuarios anónimos, es decir, a aquellos que no han iniciado sesión.

  6. Haga clic en Agregar esta regla.

    La nueva regla se muestra abajo en la cuadrícula. Cuando los usuarios solicitan una página del subdirectorio MemberPages, se comprueban las reglas para determinar si se permite el acceso del usuario a la página.

  7. Haga clic en Finalizar.

    Ya ha terminado de trabajar con el asistente. El asistente se cierra y vuelve a la ficha Seguridad de la herramienta Administración de sitios Web.

Configurar la aplicación para el correo electrónico

En una parte de este tutorial, la aplicación necesita poder enviar mensajes de correo electrónico. Para enviar mensajes, la aplicación debe tener acceso a un servidor de Protocolo simple de transferencia de correo (SMTP), que reenvía los mensajes de correo electrónico desde la aplicación a un destinatario de correo.

IIS incluye el servidor virtual SMTP predeterminado como un componente opcional, que es conveniente para este tutorial. Para obtener más información sobre cómo configurar el servidor, vea Cómo: Instalar y configurar servidores virtuales SMTP en IIS 6.0. Si está trabajando en una red de área local, compruebe con el administrador de la red los datos sobre el acceso a un servidor de correo electrónico.

Después de configurar el acceso a un servidor SMTP o averiguar cómo tener acceso a él, configure la aplicación para que enrute los mensajes de correo electrónico a ese servidor. Para hacerlo, escriba en el archivo Web.config del sitio Web una entrada que contenga una serie de opciones que determinan cómo se ejecuta la aplicación.

Para configurar la aplicación para utilizar un servidor SMTP concreto

  1. En la herramienta Administración de sitios Web, haga clic en la ficha Aplicación.

  2. En Configuración SMTP, haga clic en Definir configuración de correo electrónico SMTP.

    La herramienta muestra una página donde puede configurar el correo electrónico.

  3. Si el servidor SMTP que utiliza está en su equipo, escriba localhost como Nombre del servidor; de lo contrario, escriba el nombre de servidor apropiado.

    Incluya información de número de puerto y autenticación según los requisitos de su servidor SMTP. Consulte al administrador para obtener más información sobre cómo definir esta configuración.

  4. En el cuadro Desde, escriba una dirección de correo electrónico válida.

  5. Haga clic en Guardar y, en la página de confirmación, haga clic en Aceptar.

    La herramienta Administración de sitios Web crea un archivo Web.config (si aún no existiera) con la configuración que ha realizado.

    Nota:

    El archivo Web.config no aparecerá en el Explorador de soluciones hasta que actualice la vista.

  6. Cierre la herramienta Administración de sitios Web.

Registrar al usuario

Como parte de la aplicación, tiene que establecer la identidad del usuario para que la aplicación pueda realizar acciones, como mostrar u ocultar información, basándose en quién es el usuario. Para obtener la identidad del usuario, dispone de los datos de inicio de sesión del usuario.

En este tutorial, agregará a la página principal un vínculo que lleva a los usuarios a una página de inicio de sesión y, a continuación, creará la página de inicio de sesión.

Para crear una página principal con un botón de inicio de sesión

  1. Cambie a la página Default.aspx del sitio o ábrala. (Si no tiene una página Default.aspx, puede agregar una o utilizar una página diferente.)

  2. Cambie a la vista Diseño.

  3. Escriba texto estático como Welcome to our site y, en la barra de herramientas Formato, utilice la lista desplegable Formato del bloque para dar formato al texto como Encabezado 1.

  4. Arrastre un control LoginStatus desde el grupo Inicio de sesióndel Cuadro de herramientas hasta la página.

De forma predeterminada, el control LoginStatus se representa como un vínculo. Cuando los usuarios hacen clic en él, la aplicación muestra una página de inicio de sesión. Ahora puede crear la página de inicio de sesión.

Para crear una página de inicio de sesión

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en la aplicación Web y seleccione Agregar nuevo elemento. Agregue al sitio un formulario Web Forms denominado Login.aspx.

    Nota:

    Para este tutorial, la página se debe denominar Login.aspx. De forma predeterminada, la autenticación de formularios se configura para funcionar con una página que tiene este nombre. Aunque no lo haga en este tutorial, puede cambiar la página de inicio de sesión predeterminada (la página a la que se redirige a los usuarios) en el archivo Web.config.

  2. En la página Login.aspx, cambie a la vista Diseño.

  3. Arrastre un control Login desde el grupo Inicio de sesión del Cuadro de herramientas hasta la página.

    El control Login es un control único que pedirá al usuario las credenciales y las validará.

Mostrar errores de inicio de sesión

El control Login incluye la validación para ayudar a los usuarios a escribir la información correcta. Por ejemplo, si un usuario omite la contraseña, un control validador muestra un asterisco (*) junto al cuadro Contraseña. Puede proporcionar información más completa para los errores de inicio de sesión si agrega un control ValidationSummary a la página.

Para mostrar errores de inicio de sesión detallados

  1. Arrastre un control ValidationSummary desde el grupo Validación del Cuadro de herramientas hasta la página.

  2. En la ventana Propiedades del control ValidationSummary, establezca la propiedad ValidationGroup en Login1, que es el identificador predeterminado del control Login que agregó anteriormente.

Mostrar información para usuarios que han iniciado sesión

A continuación modificará la página principal para personalizar la presentación dependiendo de si el usuario está registrado. Los usuarios anónimos verán un mensaje genérico que les invita a iniciar sesión. Los usuarios registrados verán un mensaje que les da la bienvenida por su nombre registrado.

Para personalizar la presentación para los usuarios que inician sesión

  1. Abra o cambie a la página Default.aspx.

  2. Arrastre un control LoginView desde el grupo Inicio de sesión del Cuadro de herramientas hasta la página.

    El control LoginView se muestra con su plantilla AnonymousTemplate abierta. Esta plantilla permite definir el contenido que los usuarios verán antes de haber iniciado sesión.

  3. Haga clic en el área de edición del control LoginView para activar la edición.

  4. En el área de edición de la plantilla AnonymousTemplate del control LoginView, escriba You are not logged in. Click the Login link to sign in.

  5. En el panel Tareas de LoginView, en la lista Vistas, haga clic en LoggedInTemplate. Si no se muestra el panel Tareas de LoginView, haga clic con el botón secundario del mouse en el encabezado del control LoginView y seleccione Mostrar etiqueta inteligente.

    Ahora va a definir el contenido que se mostrará a los usuarios que ya han iniciado sesión.

  6. Haga clic en el área de edición del control LoginView para activar la edición y, a continuación, escriba You are logged in. Welcome.

  7. Arrastre un control LoginName desde el grupo Inicio de sesión del Cuadro de herramientas hasta la plantilla situada después del texto.

Probar el inicio de sesión

Ahora puede probar la función de inicio de sesión de la aplicación.

Para probar el inicio de sesión

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en Default.aspx y seleccione Establecer como página de inicio.

    Esto configura el sitio Web para que cuando se ejecute, la página Default.aspx aparezca primero.

  2. Presione CTRL+F5 para ejecutar el sitio Web.

    Aparece en el explorador la página principal (Default.aspx), que muestra el vínculo Inicio de sesión y el mensaje genérico.

  3. Haga clic en el vínculo Inicio de sesión.

    Se muestra la página de inicio de sesión que creó.

  4. Escriba el nombre de inicio de sesión del usuario que creó anteriormente en el tutorial y, a continuación, haga clic en Iniciar sesión. (No escriba todavía una contraseña.)

    Se muestra un asterisco (*) junto al cuadro Contraseña y un mensaje de error en el control ValidationSummary.

  5. Escriba un nombre de usuario y contraseña y, a continuación, haga clic en Iniciar sesión.

    Si ha escrito las credenciales correctas, volverá a la página principal. La página ahora muestra un vínculo Cerrar sesión para cerrar la sesión, su nombre de usuario y el mensaje de bienvenida que definió para el usuario registrado.

  6. Cierre el explorador.

Limitar el acceso a páginas sólo a los miembros

Una tarea típica en muchos sitios Web es configurar las páginas para que sólo los usuarios que han iniciado sesión puedan ver las páginas. Anteriormente en el tutorial, creó el subdirectorio MemberPages y una regla que limita el acceso a las páginas del subdirectorio. En esta sección del tutorial, agregará una página al subdirectorio protegido y probará la regla de acceso.

Para crear la página sólo para miembros

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en la carpeta MemberPages, haga clic en Agregar nuevo elemento y agregue un nuevo formulario Web Forms denominado Members.aspx.

    Nota:

    Asegúrese de crear la página en la carpeta MemberPages.

  2. En la vista Diseño, agregue texto a la página, por ejemplo Ésta es la página para usuarios suscritos. El texto exacto no importa, con tal de que pueda reconocer esta página cuando aparezca en el explorador.

Ahora puede agregar un vínculo a la página sólo para miembros desde la página principal. En una aplicación real, probablemente colocaría el vínculo de la página sólo para miembros en la plantilla de inicio de sesión del control LoginView. De esta forma, quienes visiten el sitio no podrán ver el vínculo hasta que hayan iniciado sesión. Sin embargo, en este tutorial el vínculo estará disponible para todos los usuarios a fin de que pueda observar el efecto de intentar ver una página sólo para miembros sin iniciar sesión antes.

Para agregar un vínculo a la página sólo para miembros

  1. Cambie a la página Default.aspx o ábrala.

  2. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta la página.

  3. En la ventana Propiedades del control HyperLink, establezca la propiedad Text en Página de miembros y la propiedad href en ~/MemberPages/Members.aspx para señalar a la página que creó anteriormente.

Probar la página sólo para miembros

Puede probar la página sólo para miembros teniendo acceso a ella como un usuario anónimo y un usuario registrado.

Para probar la página sólo para miembros

  1. Presione CTRL+F5 para ejecutar el sitio Web.

  2. Cuando la página Default.aspx aparezca en el explorador, no inicie sesión. En su lugar, haga clic en el vínculo Página de miembros.

    Se le redirige a la página Login.aspx porque el acceso a la página de miembros se deniega a los usuarios anónimos.

  3. En la página de inicio de sesión, escriba el nombre de usuario y contraseña que utilizó anteriormente en el tutorial para iniciar sesión.

    Se le redirige a la página Members.aspx porque el nombre de usuario con el que ha iniciado sesión tiene autorización de acceso a la página.

  4. Cierre la ventana del explorador.

Crear nuevos usuarios

En la primera parte del tutorial, creó un usuario con la herramienta Administración de sitios Web. Esta estrategia es útil si se está trabajando con una lista de usuarios pequeña y definida; por ejemplo, si se crean usuarios para un pequeño grupo. Sin embargo, en muchos sitios Web los usuarios se pueden registrar por sí mismos. ASP.NET incluye el control CreateUserWizard, que realiza la misma tarea que realizamos anteriormente con la herramienta Administración de sitios Web.

En esta parte del tutorial, agregará una función que permite a los usuarios registrarse en su sitio Web. Para empezar, creará una página de registro.

Para crear una página de registro

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nombre de su sitio Web, haga clic en Agregar nuevo elemento y agregue un nuevo formulario Web Forms denominado Register.aspx.

    Nota:

    Asegúrese de crear la página en la raíz del sitio Web, no en la carpeta MemberPages.

  2. En la página Register.aspx, cambie a la vista Diseño y escriba texto estático como Registrar en la página. En la barra de herramientas Formato, utilice la lista desplegable Formato del bloque para dar formato al texto como Encabezado 1.

  3. Arrastre un control CreateUserWizard desde el grupo Inicio de sesión del Cuadro de herramientas hasta la página.

  4. En la ventana Propiedades correspondiente al control CreateUserWizard, establezca la propiedad ContinueDestinationPageUrl en ~/Default.aspx.

    Esto configura el control de forma que vuelva a la página principal cuando los usuarios hacen clic en Continuar después de crear un usuario.

  5. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta la página. En la ventana Propiedades correspondiente al control HyperLink, establezca la propiedad Text en Home y la propiedad href en ~/Default.aspx.

Ahora puede agregar a la página principal un vínculo que muestra la página de registro. Para este tutorial, suponga que sólo desea mostrar el vínculo de registro a usuarios que no han iniciado sesión.

Para crear un vínculo de registro en la página principal

  1. Abra o cambie a la página Default.aspx.

  2. Haga clic con el botón secundario del mouse en el control LoginView que agregó anteriormente y seleccione Mostrar etiqueta inteligente. En el panel Tareas de LoginView, seleccione AnonymousTemplate en el cuadro de lista Vistas para activar la edición en la plantilla anónima.

  3. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta la plantilla anónima. En la ventana Propiedades correspondiente al control HyperLink, establezca la propiedad Text en Registrar y la propiedad href en Register.aspx. El vínculo Registrar sólo se mostrará a usuarios que no hayan iniciado sesión.

Ya puede probar el proceso de registro.

Para probar el registro

  1. Presione CTRL+F5 para ejecutar el sitio Web y mostrar la página Default.aspx.

    Dado que no ha iniciado sesión, se muestra la página que contiene el vínculo Registrar.

  2. Haga clic en el vínculo Registrar.

    Se muestra la página de registro.

  3. En los cuadros de texto, escriba un nuevo nombre de usuario, una contraseña segura, una dirección de correo electrónico y una pregunta y respuesta de seguridad. (Se requieren los cinco datos.)

  4. Haga clic en Create User.

    Se muestra un mensaje de confirmación.

  5. Haga clic en el botón Continuar.

    Vuelve a la página principal como un usuario registrado. Observe que el vínculo Inicio de sesión ha cambiado a Cerrar sesión y que la información presentada en el control Login proviene de la propiedad LoggedInTemplate, no de la propiedad AnonymousTemplate.

  6. Haga clic en el vínculo Cerrar sesión.

    La página cambia para mostrar la información sobre usuarios anónimos.

  7. Haga clic en el vínculo Inicio de sesión.

  8. Escriba las credenciales para el usuario que acaba de crear.

    Iniciará sesión como el nuevo usuario.

  9. Cierre la ventana del explorador.

Cambiar las contraseñas

A veces, es posible que los usuarios deseen cambiar sus contraseñas y, a menudo, es imposible realizar manualmente esta tarea. En consecuencia, puede utilizar otro control ASP.NET para permitir a los usuarios cambiar las contraseñas por sí solos. Para cambiar una contraseña, los usuarios deben conocer su contraseña existente.

En este tutorial, agregará una página donde los usuarios registrados pueden cambiar su contraseña.

Para crear una página de cambio de la contraseña

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en la carpeta MemberPages, haga clic en Agregar nuevo elemento y agregue un nuevo formulario Web Forms denominado ChangePassword.aspx.

    Nota:

    Asegúrese de crear la página en la carpeta MemberPages.

    Está colocando la página en la carpeta sólo para miembros porque únicamente los usuarios registrados pueden cambiar sus contraseñas.

  2. En la página ChangePassword.aspx, cambie a la vista Diseño y escriba texto estático como Change Password. En la barra de herramientas Formato, utilice la lista desplegable Formato del bloque para dar formato al texto como Encabezado 1.

  3. Arrastre un control ChangePassword desde el grupo Inicio de sesión del Cuadro de herramientas hasta la página.

  4. En la ventana Propiedades correspondiente al control ChangePassword, establezca la propiedad ContinueDestinationPageUrl en ~/Default.aspx.

  5. Esto configura el control de forma que vuelva a la página principal cuando los usuarios hacen clic en Continuar después de cambiar una contraseña.

Ahora puede agregar a la página principal un vínculo que muestra la página de cambio de contraseña. Hará que el vínculo esté disponible sólo para los usuarios que inicien sesión.

Para crear un vínculo de cambio de la contraseña en la página principal

  1. Abra o cambie a la página Default.aspx.

  2. Haga clic con el botón secundario del mouse en el control LoginView y, a continuación, haga clic en Mostrar etiqueta inteligente. En el menú Tareas de LoginView, en la lista Vistas, haga clic en LoggedInTemplate.

    Esto cambia el control LoginView al modo de edición para el contenido que se mostrará a los usuarios que han iniciado sesión.

  3. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta el área de edición. En la ventana Propiedades correspondiente al control HyperLink, establezca la propiedad Text en Cambiar contraseña y la propiedad href en ~/MemberPages/ChangePassword.aspx.

    El vínculo Cambiar contraseña sólo se mostrará a los usuarios que hayan iniciado sesión. Este vínculo es lo opuesto al vínculo Registrar que creó anteriormente.

Ahora puede probar el proceso de cambio de la contraseña.

Para probar el cambio de la contraseña

  1. Presione CTRL+F5 para ejecutar el sitio Web.

  2. En la página Default.aspx, haga clic en el vínculo Inicio de sesión e inicie la sesión como uno de los usuarios que ha creado.

    Cuando finalice, se le devuelve a la página principal como un usuario registrado.

  3. Haga clic en el vínculo Cambiar contraseña.

  4. En la página de cambio de la contraseña, escriba la contraseña anterior y una nueva contraseña y, a continuación, haga clic en Change Password.

  5. Haga clic en Continuar.

  6. En la página principal, haga clic en Cerrar sesión.

  7. Haga clic en el vínculo Inicio de sesión.

  8. Escriba la nueva contraseña.

    Se inicia sesión con la nueva contraseña.

  9. Cierre la ventana del explorador.

Recuperar una contraseña

A veces, los usuarios se olvidarán de sus contraseñas. Puede agregar una página de recuperación de contraseñas a su sitio Web para que puedan volver a iniciar sesión. La recuperación de contraseñas puede tener dos formas:

  • Puede enviar a los usuarios la contraseña que seleccionaron (o que creó para ellos cuando configuró el sitio). Esta opción requiere que el sitio almacene la contraseña utilizando cifrado reversible.

  • Puede enviar a los usuarios una nueva contraseña que pueden cambiar utilizando la página Change Password que creó anteriormente. Esta opción es útil si el sitio Web almacena contraseñas utilizando un esquema de cifrado no reversible como un algoritmo hash.

Nota:

No se recomienda devolver una contraseña en texto no cifrado mediante correo electrónico para los sitios que requieren un nivel alto de seguridad. En el caso de sitios de alta seguridad, se recomienda devolver contraseñas utilizando cifrado, por ejemplo Capa de sockets seguros (SSL).

De forma predeterminada, el sistema de suscripciones de ASP.NET protege las contraseñas aplicándoles un algoritmo hash, lo cual significa que no se pueden recuperar. Por consiguiente, para esta parte del tutorial, su sitio Web enviará una nueva contraseña a los usuarios.

Nota:

La recuperación de contraseñas requiere que el sitio Web pueda enviar mensajes de correo electrónico. Si no puede configurar el sitio Web para enviar correo electrónico (como se explicó en "Configurar la aplicación para el correo electrónico", anteriormente en este tutorial), no podrá agregar la recuperación de contraseñas a su sitio.

Para agregar la recuperación de contraseñas

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nombre de su sitio Web, haga clic en Agregar nuevo elemento y agregue un nuevo formulario Web Forms denominado RecoverPassword.aspx.

    Nota:

    Asegúrese de crear la página en la raíz del sitio Web, no en la carpeta MemberPages.

  2. En la página RecoverPassword.aspx, cambie a la vista Diseño y escriba texto estático como Reset my password to a new value. En la barra de herramientas Formato, utilice la lista desplegable Formato del bloque para dar formato al texto como Encabezado 1.

  3. Arrastre un control PasswordRecovery desde el grupo Inicio de sesión del Cuadro de herramientas hasta la página.

  4. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta la página. En la ventana Propiedades correspondiente al control HyperLink, establezca la propiedad Text en Home y la propiedad href en ~/Default.aspx.

  5. Cambie a la página Default.aspx.

  6. Haga clic con el botón secundario del mouse en el control LoginView y, a continuación, haga clic en Mostrar etiqueta inteligente. En el menú Tareas de LoginView, en la lista Vistas, haga clic en AnonymousTemplate.

    Esto cambia el control LoginView al modo de edición para el contenido que se mostrará a los usuarios que no han iniciado sesión.

  7. Arrastre un control HyperLink desde el grupo Estándar del Cuadro de herramientas hasta la plantilla. En la ventana Propiedades correspondiente al control HyperLink, establezca la propiedad Text en Forgot your password? y la propiedad href en ~/RecoverPassword.aspx.

Ahora puede probar la recuperación de contraseñas.

Para probar la recuperación de contraseñas

  1. Presione CTRL+F5 para ejecutar el sitio Web.

  2. De forma predeterminada, no se inicia sesión, por lo que aparece la plantilla anónima del control LoginView.

  3. Haga clic el vínculo Forgot your password?.

    Aparece la página RecoverPassword.aspx.

  4. Escriba su nombre de usuario y haga clic en Enviar.

    Se muestra la pregunta de seguridad y se le solicita que escriba la respuesta de seguridad.

  5. Escriba la respuesta y haga clic en Enviar.

    Si escribe una respuesta correcta, el sitio Web restablece su contraseña y le envía un mensaje de correo electrónico con la nueva contraseña.

Pasos siguientes

Este tutorial ha mostrado un escenario sencillo pero completo para crear una aplicación que pide credenciales a los usuarios, muestra información a los usuarios que han iniciado sesión, permite a los usuarios recuperar una contraseña olvidada y limita el acceso a ciertas páginas. Puede crear páginas y aplicaciones más sofisticadas utilizando las técnicas y controles mostrados en el tutorial. Por ejemplo, podría:

Vea también

Conceptos

Introducción a la suscripción