Sei sulla pagina 1di 16

Tutorial: Crear un sitio Web con suscripcin e

inicio de sesin de usuarios (Visual Studio)


Un requisito comn para los sitios Web es permitir que slo algunos miembros u otros usuarios
autenticados puedan ver ciertas pginas. En ese caso, la aplicacin debe pedir al usuario un nombre
y contrasea. La aplicacin tambin debe incluir una manera de ocultar informacin a los usuarios
annimos (usuarios que no hayan iniciado sesin). Este tutorial muestra cmo utilizar los controles
ASP.NET y los servicios de suscripcin de ASP.NET para crear una aplicacin que realiza todas esas
tareas. Para obtener ms informacin, vea Introduccin a la suscripcin.
Las tareas ilustradas en este tutorial incluyen:
Configurar una aplicacin para incluir los servicios de suscripcin de ASP.NET y cmo definir
a los usuarios.
Utilizar controles de inicio de sesin para obtener las credenciales del usuario y mostrar
informacin a los usuarios que hayan iniciado sesin.
Proteger una o ms paginas de la aplicacin para que slo puedan verlas los usuarios que
han iniciado sesin.
Permitir que nuevos usuarios se registren en el sitio.
Permitir que los miembros cambien y restablezcan sus contraseas.
Requisitos previos

Para poder completar este tutorial, necesitar:
Microsoft Visual Web Developer.
Servicios de Microsoft Internet Information Server (IIS) instalado localmente en el equipo.
Microsoft Data Access Components (MDAC) versin 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 versin de MDAC instalada
en el equipo. Para obtener ms informacin, vea "Microsoft Data Access Components
(MDAC) Installation" en MSDN Library.
Tener acceso a un servidor de correo electrnico que pueda reenviar mensajes de correo
electrnico. (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 ms informacin sobre cmo configurar el servidor, vea Cmo: Instalar y
configurar servidores virtuales SMTP en IIS. 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
electrnico.
Crear el sitio Web



Si ya ha creado un sitio Web en Microsoft Visual Studio (por ejemplo, trabajando con el tema
Tutorial: Crear una pgina Web bsica en Visual Web Developer), puede utilizar ese sitio Web y pasar a
la seccin "Configurar la suscripcin" del tutorial. De lo contrario, cree un sitio Web y una pgina
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 dilogo Nuevo sitio Web.
3. En Plantillas instaladas de Visual Studio, seleccione Sitio Web ASP.NET.
4. En la lista Ubicacin, haga clic en HTTP. Haga clic en Examinar.
Aparecer el cuadro de dilogo Seleccionar ubicacin.
5. Seleccione IIS local.
6. Abra Servidores Web locales.
7. Seleccione Sitio Web predeterminado.
8. Haga clic en el icono Crear nueva aplicacin Web ( ) que se encuentra sobre la lista de
sitios Web y, a continuacin, asigne el nombre membership al nuevo sitio Web.
9. Haga clic en Abrir.
Se cerrar el cuadro de dilogo Seleccionar ubicacin.
10. En el cuadro Lenguaje, haga clic en el lenguaje de programacin con el que prefiera
trabajar.
El lenguaje de programacin que elija ser el lenguaje predeterminado de su sitio Web, sin
embargo, tambin puede establecer el lenguaje de programacin en cada pgina de forma
individual.
11. Haga clic en Aceptar en el cuadro de dilogo Nuevo sitio Web.
Visual Web Developer crea el sitio Web y una nueva pgina denominada Default.aspx.
Configurar la suscripcin

Ms adelante en este tutorial colocar pginas en un subdirectorio protegido. Ahora debe crear el
subdirectorio para que pueda configurar despus su seguridad en el tutorial.


Para agregar una nueva carpeta al sitio Web
1. En el Explorador de soluciones, haga clic con el botn secundario del mouse (ratn) 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 suscripcin de ASP.NET, debe configurar la aplicacin para habilitar la
suscripcin y configurar los usuarios. Puede utilizar la herramienta Administracin de sitios Web,
que proporciona una interfaz parecida a un asistente para establecer opciones de configuracin.
Para este tutorial, definir un usuario nico.
Para crear un usuario suscrito
1. En el men Sitio Web, haga clic en Configuracin de ASP.NET.
2. Seleccione la ficha Seguridad, haga clic en el vnculo a Usar el asistente de configuracin
de seguridad para definir la seguridad paso a paso y, a continuacin, haga clic en
Siguiente.
3. Contine con el paso 2 del asistente y seleccione la opcin Desde Internet.
El asistente muestra una pgina donde puede seleccionar el mtodo de autenticacin que
el sitio Web utilizar. Esta opcin especifica que la aplicacin utilizar la autenticacin de
formularios, en la cual los usuarios inician sesin en la aplicacin con una pgina de inicio
de sesin que crearemos ms adelante en el tutorial.
4. Haga clic en Siguiente.
El asistente muestra un mensaje que indica que la informacin del usuario se almacenar
utilizando Configuracin de proveedores avanzada. De forma predeterminada, la
informacin de suscripcin 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 opcin para crear funciones. Este paso se realizar de forma
independiente ms adelante en el tutorial. Por consiguiente, no active la casilla de
verificacin Habilitar funciones para este sitio Web.
6. Haga clic en Siguiente.
El asistente muestra una pgina donde puede crear nuevos usuarios.
7. Escriba informacin que defina a un usuario de la aplicacin. Utilice los valores siguientes
como directrices (puede utilizar los valores que desee, pero anote la informacin que
introduzca para utilizarla posteriormente en el tutorial):
o Nombre de usuario Su nombre (sin espacios) o un nombre de ejemplo.


o Contrasea Una contrasea. Se requiere una contrasea segura (una que incluya
maysculas y minsculas, signos de puntuacin y tenga al menos ocho caracteres).
o Correo electrnico Su direccin de correo electrnico personal. Ms adelante en
el tutorial se enviar a s mismo un mensaje de correo electrnico, por lo que
necesita una direccin de correo electrnico vlida.
o Pregunta de seguridad y Respuesta de seguridad Escriba una pregunta y
respuesta que pueda utilizar despus si necesita recuperar su contrasea.
8. Haga clic en Create User.
El asistente muestra una pgina de confirmacin.
Nota
Deje abierta la herramienta Administracin 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 slo usuarios que han iniciado sesin puedan tener
acceso a las pginas de esa carpeta.
Para configurar reglas de acceso para el subdirectorio MemberPages
1. En el asistente, haga clic en Siguiente.
El asistente muestra una pgina 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 annimos.
5. En Permisos, seleccione Denegar.
La regla que est creando deniega el acceso a los usuarios annimos, es decir, a aquellos
que no han iniciado sesin.
6. Haga clic en Agregar esta regla.
La nueva regla se muestra abajo en la cuadrcula. Cuando los usuarios solicitan una pgina
del subdirectorio MemberPages, se comprueban las reglas para determinar si se permite el
acceso del usuario a la pgina.
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 Administracin de sitios Web.


Configurar la aplicacin para el correo electrnico

En una parte de este tutorial, la aplicacin necesita poder enviar mensajes de correo electrnico.
Para enviar mensajes, la aplicacin debe tener acceso a un servidor de Protocolo simple de
transferencia de correo (SMTP), que reenva los mensajes de correo electrnico desde la aplicacin a
un destinatario de correo.
IIS incluye el servidor virtual SMTP predeterminado como un componente opcional, que es
conveniente para este tutorial. Para obtener ms informacin sobre cmo configurar el servidor, vea
Cmo: Instalar y configurar servidores virtuales SMTP en IIS. 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
electrnico.
Despus de configurar el acceso a un servidor SMTP o averiguar cmo tener acceso a l, configure
la aplicacin para que enrute los mensajes de correo electrnico a ese servidor. Para hacerlo, escriba
en el archivo Web.config del sitio Web una entrada que contenga una serie de opciones que
determinan cmo se ejecuta la aplicacin.
Para configurar la aplicacin para utilizar un servidor SMTP concreto
1. En la herramienta Administracin de sitios Web, haga clic en la ficha Aplicacin.
2. En Configuracin SMTP, haga clic en Definir configuracin de correo electrnico SMTP.
La herramienta muestra una pgina donde puede configurar el correo electrnico.
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 informacin de nmero de puerto y autenticacin segn los requisitos de su
servidor SMTP. Consulte al administrador para obtener ms informacin sobre cmo definir
esta configuracin.
4. En el cuadro Desde, escriba una direccin de correo electrnico vlida.
5. Haga clic en Guardar y, en la pgina de confirmacin, haga clic en Aceptar.
La herramienta Administracin de sitios Web crea un archivo Web.config (si an no
existiera) con la configuracin que ha realizado.
Nota
El archivo Web.config no aparecer en el Explorador de soluciones hasta que actualice la vista.
6. Cierre la herramienta Administracin de sitios Web.


Registrar al usuario

Como parte de la aplicacin, tiene que establecer la identidad del usuario para que la aplicacin
pueda realizar acciones, como mostrar u ocultar informacin, basndose en quin es el usuario. Para
obtener la identidad del usuario, dispone de los datos de inicio de sesin del usuario.
En este tutorial, agregar a la pgina principal un vnculo que lleva a los usuarios a una pgina de
inicio de sesin y, a continuacin, crear la pgina de inicio de sesin.
Para crear una pgina principal con un botn de inicio de sesin
1. Cambie a la pgina Default.aspx del sitio o brala. (Si no tiene una pgina Default.aspx,
puede agregar una o utilizar una pgina diferente.)
2. Cambie a la vista Diseo.
3. Escriba texto esttico 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 sesindel Cuadro de
herramientas hasta la pgina.
De forma predeterminada, el control LoginStatus se representa como un vnculo. Cuando los
usuarios hacen clic en l, la aplicacin muestra una pgina de inicio de sesin. Ahora puede crear la
pgina de inicio de sesin.
Para crear una pgina de inicio de sesin
1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en la
aplicacin Web y seleccione Agregar nuevo elemento. Agregue al sitio un formulario Web
Forms denominado Login.aspx.
Nota
Para este tutorial, la pgina se debe denominar Login.aspx. De forma predeterminada, la
autenticacin de formularios se configura para funcionar con una pgina que tiene este nombre.
Aunque no lo haga en este tutorial, puede cambiar la pgina de inicio de sesin predeterminada (la
pgina a la que se redirige a los usuarios) en el archivo Web.config.
2. En la pgina Login.aspx, cambie a la vista Diseo.
3. Arrastre un control Login desde el grupo Inicio de sesin del Cuadro de herramientas
hasta la pgina.


El control Login es un control nico que pedir al usuario las credenciales y las validar.
Mostrar errores de inicio de sesin
El control Login incluye la validacin para ayudar a los usuarios a escribir la informacin correcta.
Por ejemplo, si un usuario omite la contrasea, un control de validacin muestra un asterisco (*)
junto al cuadro Contrasea. Puede proporcionar informacin ms completa para los errores de
inicio de sesin si agrega un control ValidationSummary a la pgina.
Para mostrar errores de inicio de sesin detallados
1. Arrastre un control ValidationSummary desde el grupo Validacin del Cuadro de
herramientas hasta la pgina.
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 informacin para usuarios que han iniciado sesin
A continuacin modificar la pgina principal para personalizar la presentacin dependiendo de si
el usuario est registrado. Los usuarios annimos vern un mensaje genrico que les invita a iniciar
sesin. Los usuarios registrados vern un mensaje que les da la bienvenida por su nombre
registrado.
Para personalizar la presentacin para los usuarios que inician sesin
1. Abra o cambie a la pgina Default.aspx.
2. Arrastre un control LoginView desde el grupo Inicio de sesin del Cuadro de
herramientas hasta la pgina.
El control LoginView se muestra con su plantilla AnonymousTemplate abierta. Esta
plantilla permite definir el contenido que los usuarios vern antes de haber iniciado sesin.
3. Haga clic en el rea de edicin del control LoginView para activar la edicin.
4. En el rea de edicin 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 botn 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 sesin.
6. Haga clic en el rea de edicin del control LoginView para activar la edicin y, a
continuacin, escriba You are logged in. Welcome.
7. Arrastre un control LoginName desde el grupo Inicio de sesin del Cuadro de
herramientas hasta la plantilla situada despus del texto.


Probar el inicio de sesin
Ahora puede probar la funcin de inicio de sesin de la aplicacin.
Para probar el inicio de sesin
1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en
Default.aspx y seleccione Establecer como pgina de inicio.
Esto configura el sitio Web para que cuando se ejecute, la pgina Default.aspx aparezca
primero.
2. Presione CTRL+F5 para ejecutar el sitio Web.
Aparece en el explorador la pgina principal (Default.aspx), que muestra el vnculo Inicio de
sesin y el mensaje genrico.
3. Haga clic en el vnculo Inicio de sesin.
Se muestra la pgina de inicio de sesin que cre.
4. Escriba el nombre de inicio de sesin del usuario que cre anteriormente en el tutorial y, a
continuacin, haga clic en Iniciar sesin. (No escriba todava una contrasea.)
Se muestra un asterisco (*) junto al cuadro Contrasea y un mensaje de error en el control
ValidationSummary.
5. Escriba un nombre de usuario y contrasea y, a continuacin, haga clic en Iniciar sesin.
Si ha escrito las credenciales correctas, volver a la pgina principal. La pgina ahora
muestra un vnculo Cerrar sesin para cerrar la sesin, su nombre de usuario y el mensaje
de bienvenida que defini para el usuario registrado.
6. Cierre el explorador.
Limitar el acceso a pginas slo a los miembros

Una tarea tpica en muchos sitios Web es configurar las pginas para que slo los usuarios que han
iniciado sesin puedan ver las pginas. Anteriormente en el tutorial, cre el subdirectorio
MemberPages y una regla que limita el acceso a las pginas del subdirectorio. En esta seccin del
tutorial, agregar una pgina al subdirectorio protegido y probar la regla de acceso.
Para crear la pgina slo para miembros


1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en la carpeta
MemberPages, haga clic en Agregar nuevo elemento y agregue un nuevo formulario
Web Forms denominado Members.aspx.
Nota
Asegrese de crear la pgina en la carpeta MemberPages.
2. En la vista Diseo, agregue texto a la pgina, por ejemplo sta es la pgina para usuarios
suscritos. El texto exacto no importa, con tal de que pueda reconocer esta pgina cuando
aparezca en el explorador.
Ahora puede agregar un vnculo a la pgina slo para miembros desde la pgina principal. En una
aplicacin real, probablemente colocara el vnculo de la pgina slo para miembros en la plantilla
de inicio de sesin del control LoginView. De esta forma, quienes visiten el sitio no podrn ver el
vnculo hasta que hayan iniciado sesin. Sin embargo, en este tutorial el vnculo estar disponible
para todos los usuarios a fin de que pueda observar el efecto de intentar ver una pgina slo para
miembros sin iniciar sesin antes.
Para agregar un vnculo a la pgina slo para miembros
1. Cambie a la pgina Default.aspx o brala.
2. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de herramientas hasta
la pgina.
3. En la ventana Propiedades del control HyperLink, establezca la propiedad Text en Pgina
de miembros y la propiedad NavigateUrl en ~/MemberPages/Members.aspx para sealar
a la pgina que cre anteriormente.
Probar la pgina slo para miembros
Puede probar la pgina slo para miembros teniendo acceso a ella como un usuario annimo y un
usuario registrado.
Para probar la pgina slo para miembros
1. Presione CTRL+F5 para ejecutar el sitio Web.
2. Cuando la pgina Default.aspx aparezca en el explorador, no inicie sesin. En su lugar, haga
clic en el vnculo Pgina de miembros.
Se le redirige a la pgina Login.aspx porque el acceso a la pgina de miembros se deniega a
los usuarios annimos.
3. En la pgina de inicio de sesin, escriba el nombre de usuario y contrasea que utiliz
anteriormente en el tutorial para iniciar sesin.


Se le redirige a la pgina Members.aspx porque el nombre de usuario con el que ha iniciado
sesin tiene autorizacin de acceso a la pgina.
4. Cierre la ventana del explorador.
Crear nuevos usuarios

En la primera parte del tutorial, cre un usuario con la herramienta Administracin de sitios Web.
Esta estrategia es til si se est trabajando con una lista de usuarios pequea y definida; por
ejemplo, si se crean usuarios para un pequeo 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 Administracin de sitios Web.
En esta parte del tutorial, agregar una funcin que permite a los usuarios registrarse en su sitio
Web. Para empezar, crear una pgina de registro.
Para crear una pgina de registro
1. En el Explorador de soluciones, haga clic con el botn 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
Asegrese de crear la pgina en la raz del sitio Web, no en la carpeta MemberPages.
2. En la pgina Register.aspx, cambie a la vista Diseo y escriba texto esttico como Registrar
en la pgina. 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 sesin del Cuadro de
herramientas hasta la pgina.
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 pgina principal cuando los usuarios
hacen clic en Continuar despus de crear un usuario.
5. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de herramientas hasta
la pgina. En la ventana Propiedades correspondiente al control HyperLink, establezca la
propiedad Text en Home y la propiedad NavigateUrl en ~/Default.aspx.


Ahora puede agregar a la pgina principal un vnculo que muestra la pgina de registro. Para este
tutorial, suponga que slo desea mostrar el vnculo de registro a usuarios que no han iniciado
sesin.
Para crear un vnculo de registro en la pgina principal
1. Abra o cambie a la pgina Default.aspx.
2. Haga clic con el botn 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
edicin en la plantilla annima.
3. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de herramientas hasta
la plantilla annima. En la ventana Propiedades correspondiente al control HyperLink,
establezca la propiedad Text en Registrar y la propiedad NavigateUrl en Register.aspx. El
vnculo Registrar slo se mostrar a usuarios que no hayan iniciado sesin.
Ya puede probar el proceso de registro.
Para probar el registro
1. Presione CTRL+F5 para ejecutar el sitio Web y mostrar la pgina Default.aspx.
Dado que no ha iniciado sesin, se muestra la pgina que contiene el vnculo Registrar.
2. Haga clic en el vnculo Registrar.
Se muestra la pgina de registro.
3. En los cuadros de texto, escriba un nuevo nombre de usuario, una contrasea segura, una
direccin de correo electrnico y una pregunta y respuesta de seguridad. (Se requieren los
cinco datos.)
4. Haga clic en Create User.
Se muestra un mensaje de confirmacin.
5. Haga clic en el botn Continuar.
Vuelve a la pgina principal como un usuario registrado. Observe que el vnculo Inicio de
sesin ha cambiado a Cerrar sesin y que la informacin presentada en el control Login
proviene de la propiedad LoggedInTemplate, no de la propiedad AnonymousTemplate.
6. Haga clic en el vnculo Cerrar sesin.
La pgina cambia para mostrar la informacin sobre usuarios annimos.
7. Haga clic en el vnculo Inicio de sesin.
8. Escriba las credenciales para el usuario que acaba de crear.


Iniciar sesin como el nuevo usuario.
9. Cierre la ventana del explorador.
Cambiar las contraseas

A veces, es posible que los usuarios deseen cambiar sus contraseas y, a menudo, es imposible
realizar manualmente esta tarea. En consecuencia, puede utilizar otro control ASP.NET para permitir
a los usuarios cambiar las contraseas por s solos. Para cambiar una contrasea, los usuarios deben
conocer su contrasea existente.
En este tutorial, agregar una pgina donde los usuarios registrados pueden cambiar su contrasea.
Para crear una pgina de cambio de la contrasea
1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en la carpeta
MemberPages, haga clic en Agregar nuevo elemento y agregue un nuevo formulario
Web Forms denominado ChangePassword.aspx.
Nota
Asegrese de crear la pgina en la carpeta MemberPages.
2. Est colocando la pgina en la carpeta slo para miembros porque nicamente los usuarios
registrados pueden cambiar sus contraseas.
3. En la pgina ChangePassword.aspx, cambie a la vista Diseo y escriba texto esttico como
Change Password. 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 ChangePassword desde el grupo Inicio de sesin del Cuadro de
herramientas hasta la pgina.
5. En la ventana Propiedades correspondiente al control ChangePassword, establezca la
propiedad ContinueDestinationPageUrl en ~/Default.aspx.
6. Esto configura el control de forma que vuelva a la pgina principal cuando los usuarios
hacen clic en Continuar despus de cambiar una contrasea.
Ahora puede agregar a la pgina principal un vnculo que muestra la pgina de cambio de
contrasea. Har que el vnculo est disponible slo para los usuarios que inicien sesin.
Para crear un vnculo de cambio de la contrasea en la pgina principal
1. Abra o cambie a la pgina Default.aspx.


2. Haga clic con el botn secundario del mouse en el control LoginView y, a continuacin,
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 edicin para el contenido que se mostrar a
los usuarios que han iniciado sesin.
3. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de herramientas hasta
el rea de edicin. En la ventana Propiedades correspondiente al control HyperLink,
establezca la propiedad Text en Cambiar contrasea y la propiedad NavigateUrl en
~/MemberPages/ChangePassword.aspx.
El vnculo Cambiar contrasea slo se mostrar a los usuarios que hayan iniciado sesin.
Este vnculo es lo opuesto al vnculo Registrar que cre anteriormente.
Ahora puede probar el proceso de cambio de la contrasea.
Para probar el cambio de la contrasea
1. Presione CTRL+F5 para ejecutar el sitio Web.
2. En la pgina Default.aspx, haga clic en el vnculo Inicio de sesin e inicie la sesin como
uno de los usuarios que ha creado.
Cuando finalice, se le devuelve a la pgina principal como un usuario registrado.
3. Haga clic en el vnculo Cambiar contrasea.
4. En la pgina de cambio de la contrasea, escriba la contrasea anterior y una nueva
contrasea y, a continuacin, haga clic en Change Password.
5. Haga clic en Continuar.
6. En la pgina principal, haga clic en Cerrar sesin.
7. Haga clic en el vnculo Inicio de sesin.
8. Escriba la nueva contrasea.
Se inicia sesin con la nueva contrasea.
9. Cierre la ventana del explorador.
Recuperar una contrasea

A veces, los usuarios se olvidarn de sus contraseas. Puede agregar una pgina de recuperacin de
contraseas a su sitio Web para que puedan volver a iniciar sesin. La recuperacin de contraseas
puede tener dos formas:


Puede enviar a los usuarios la contrasea que seleccionaron (o que cre para ellos cuando
configur el sitio). Esta opcin requiere que el sitio almacene la contrasea utilizando
cifrado reversible.
Puede enviar a los usuarios una nueva contrasea que pueden cambiar utilizando la pgina
Change Password que cre anteriormente. Esta opcin es til si el sitio Web almacena
contraseas utilizando un esquema de cifrado no reversible como un algoritmo hash.
Nota
No se recomienda devolver una contrasea en texto no cifrado mediante correo electrnico para
los sitios que requieren un nivel alto de seguridad. En el caso de sitios de alta seguridad, se
recomienda devolver contraseas utilizando cifrado, por ejemplo Capa de sockets seguros (SSL).
De forma predeterminada, el sistema de suscripciones de ASP.NET protege las contraseas
aplicndoles un algoritmo hash, lo cual significa que no se pueden recuperar. Por consiguiente, para
esta parte del tutorial, su sitio Web enviar una nueva contrasea a los usuarios.
Nota
La recuperacin de contraseas requiere que el sitio Web pueda enviar mensajes de correo
electrnico. Si no puede configurar el sitio Web para enviar correo electrnico (como se explic en
"Configurar la aplicacin para el correo electrnico", anteriormente en este tutorial), no podr
agregar la recuperacin de contraseas a su sitio.
Para agregar la recuperacin de contraseas
1. En el Explorador de soluciones, haga clic con el botn 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
Asegrese de crear la pgina en la raz del sitio Web, no en la carpeta MemberPages.
2. En la pgina RecoverPassword.aspx, cambie a la vista Diseo y escriba texto esttico 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 sesin del Cuadro de
herramientas hasta la pgina.


4. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de herramientas hasta
la pgina. En la ventana Propiedades correspondiente al control HyperLink, establezca la
propiedad Text en Home y la propiedad NavigateUrl en ~/Default.aspx.
5. Cambie a la pgina Default.aspx.
6. Haga clic con el botn secundario del mouse en el control LoginView y, a continuacin,
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 edicin para el contenido que se mostrar a
los usuarios que no han iniciado sesin.
7. Arrastre un control HyperLink desde el grupo Estndar 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 NavigateUrl en
~/RecoverPassword.aspx.
Ahora puede probar la recuperacin de contraseas.
Para probar la recuperacin de contraseas
1. Presione CTRL+F5 para ejecutar el sitio Web.
2. De forma predeterminada, no se inicia sesin, por lo que aparece la plantilla annima del
control LoginView.
3. Haga clic el vnculo Forgot your password?.
Aparece la pgina 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 contrasea y le enva un
mensaje de correo electrnico con la nueva contrasea.
Pasos siguientes

Este tutorial ha mostrado un escenario sencillo pero completo para crear una aplicacin que pide
credenciales a los usuarios, muestra informacin a los usuarios que han iniciado sesin, permite a
los usuarios recuperar una contrasea olvidada y limita el acceso a ciertas pginas. Puede crear
pginas y aplicaciones ms sofisticadas utilizando las tcnicas y controles mostrados en el tutorial.
Por ejemplo, podra:


Crear usuarios adicionales y definir funciones (grupos) como administradores, ventas o
miembros, y asignar funciones diferentes a los usuarios. Para obtener informacin detallada,
vea Tutorial: Administrar los usuarios de sitios Web con funciones.
Cambiar el proveedor de suscripciones del proveedor de Access predeterminado a un
proveedor de SQL. El almacenamiento de informacin de suscripciones en una base de
datos de Access es adecuado para sitios de tamao pequeo o mediano, pero si el sitio va a
tener mucho trfico, es ms conveniente utilizar Microsoft SQL Server como almacn de
suscripciones. Para obtener ms informacin, vea Herramienta Administracin de sitios Web,
Proveedor (Ficha) y Crear la base de datos de servicios de la aplicacin para SQL Server.
Cambiar la apariencia de los controles de inicio de sesin. Los controles Login,
PasswordRecovery y CreateUserWizard admiten plantillas que permiten configurar el
texto y los botones que contienen o cambiar el color, la fuente y otras caractersticas de
apariencia de los controles. Para obtener ms informacin, vea los temas de la seccin
Controles ASP.NET de inicio de sesin.
Crear reglas que limitan el acceso a pginas o carpetas no slo para los usuarios annimos,
sino para usuarios o funciones concretos.
Combinar la suscripcin con propiedades de perfil que permiten almacenar la configuracin
especfica de cada usuario. Para obtener informacin detallada, vea Tutorial: Mantener la
informacin de usuarios de sitios Web con propiedades de perfil.
Combinar los controles de inicio de sesin con pginas principales. Las pginas principales
permiten definir un diseo de pgina que se puede utilizar para todas las pginas de una
aplicacin. Para obtener informacin detallada, vea Tutorial: Crear y usar pginas principales
ASP.NET en Visual Web Developer.
Agregar la capacidad para recuperar una contrasea olvidada. Para obtener ms
informacin, vea Cmo: Habilitar la recuperacin de contraseas de usuario mediante el control
PasswordRecovery de ASP.NET.

Potrebbero piacerti anche