Você está na página 1de 23

Tutorial Crear un sitio web con pertenencia e inicio de sesin

de usuarios
Un requisito tpico de los sitios web es permitir que solo algunos usuarios (usuarios
autenticados) puedan ver ciertas pginas. En ese caso, es habitual que el sitio web
proporcione una forma para que los usuarios inicien sesin y se autentiquen, y se oculte
la informacin a los usuarios annimos (usuarios que no han iniciado sesin).
Nota
Si crea una aplicacin web en Microsoft Visual Studio 2010 utilizando una plantilla de
proyecto web, la plantilla incluye pginas que implementan funcionalidad de inicio de
sesin bsica mediante los controles de inicio de sesin y de pertenencia a
ASP.NET. Sin embargo, la plantilla no incluye toda la funcionalidad que se describe
en este tutorial. Si la plantilla no incluye la funcionalidad que desea, o si prefiere crear
el sistema de pertenencia, puede utilizar los mismos controles ASP.NET que hay en la
plantilla para crear inicio de sesin y pginas de pertenencia personalizadas.
En este tutorial se muestra cmo reunir manualmente estos controles ASP.NET y la
pertenencia a ASP.NET para crear una aplicacin que autentica a los usuarios y oculta
la informacin a los usuarios annimos. Para obtener informacin acerca de cmo se
usan las plantillas de sitio web, vea Tutorial: Crear un sitio web ASP.NET con inicio
de sesin de usuario bsico.
Las tareas que se ilustran en este tutorial son las siguientes:
Crear un sitio web.
Crear una pgina principal accesible a todos los usuarios.
Crear una pgina de inicio de sesin.
Crear una pgina solo para miembros.
Configurar la pertenencia.
Agregar a nuevos usuarios (miembros).
Permitir a los usuarios el cambio de contrasea.
Permitir a los usuarios restablecer una contrasea olvidada.

Crear el sitio web


Para crear pginas de inicio de sesin de usuario personalizadas, primero crear un sitio
web vaco.
En este tutorial se usa un proyecto de sitio web. No obstante, puede utilizar un proyecto
de aplicacin web si as lo desea. Para obtener informacin sobre la diferencia entre estos
tipos de proyectos web, vea Proyectos de aplicacin web frente a proyectos de sitio web.
Para crear un sitio web
1. Inicie Visual Studio 2012.
2. En el men Archivo, haga clic en Nuevo sitio Web. (Si no ve esta opcin, haga
clic en Nuevo y, a continuacin, haga clic en Sitio web).
Aparece el cuadro de dilogo Nuevo sitio web.

3. En Plantillas instaladas, haga clic en Visual C# y, a continuacin,


seleccione Sitio web vaco de ASP.NET.
Est seleccionando una plantilla de sitio web vaca porque agregar pertenencia
y capacidad de inicio de sesin manualmente, en lugar de usar las caractersticas
compiladas en las otras plantillas.
4. En el cuadro de lista ubicacin Web, seleccione Sistema de archivos y escriba
el nombre de la carpeta donde desee conservar las pginas del sitio web, a
continuacin, haga clic en Aceptar.

Visual Studio crea un proyecto de sitio web


vaco que solo tiene un archivo Web.config.
Crear la pgina principal. Primero crear la
pgina principal donde todos los usuarios del
sitio web comenzarn.

Para crear una pgina principal


1. En el Explorador de soluciones, haga clic con el botn secundario en el nombre
del proyecto de sitio web y, a continuacin, seleccione Agregar nuevo elemento.
Se abrir el cuadro de dilogo Agregar nuevo elemento.

2. Si no ve la ventana del Explorador de soluciones, selecciona el men Vista y, a


continuacin, haga clic en Explorador de soluciones.
3. Seleccione Formularios Web Forms, acepte el nombre predeterminado
(Default.aspx) para el archivo y, a continuacin, haga clic en Agregar.

4. Pase a la Vista de diseo y agregue texto como Pgina de inicio.


5. En la barra de herramientas Formato, utilice la lista desplegable Formato del
bloque para dar formato al texto como Encabezado 1.

Crear la pgina de inicio de sesin


Como parte del sitio web, tiene que establecer la identidad del usuario (autenticar al
usuario) para que el sitio web pueda realizar acciones, como mostrar u ocultar
informacin, basndose en quin es el usuario. Para obtener la identidad del usuario, debe
disponer de los datos de inicio de sesin del usuario. Por consiguiente, el sitio web debe
incluir una 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 en el nombre
del proyecto de sitio web y, a continuacin, seleccione Agregar nuevo elemento.

2. Seleccione Formulario Web Forms, cambie el nombre predeterminado


por Login.aspx y, a continuacin, haga clic en Agregar.

Nota

Para este tutorial, la pgina se debe denominar Login.aspx. De forma


predeterminada, la autenticacin de ASP.NET 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 en el archivo
Web.config).
3. En la pgina Login.aspx, cambie a la vista Diseo.
4. Agregue texto como Pgina principal a la pgina y use de nuevo Formato del
bloque para dar formato al ttulo como Encabezado 1.

5. Presione Entrar para crear un nuevo prrafo.


6. Arrastre un control Login desde el grupo Inicio de sesin del Cuadro de
herramientas hasta el nuevo prrafo.
El control Login es el nico control que pedir al usuario las credenciales y las
validar. Si desea, puede utilizar el vnculo Formato automtico del panel de
etiquetas inteligentes para aplicar el formato al control Login.

Mostrar errores de inicio de sesin detallados.


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 validador muestra un
asterisco (*) junto al cuadro Contrasea. Para proporcionar ms detalles sobre los errores
en la pgina, agregar un control ValidationSummary.

Para mostrar errores de inicio de sesin detallados.


1. Arrastre un control ValidationSummary desde el grupo Validacin del Cuadro
de
herramientas
hasta
la
pgina
Login.aspx.
Coloque
el ValidationSummary bajo el control Login.

2. En la ventana Propiedades del control ValidationSummary, establezca la


propiedad ValidationGroup en Login1, que es el identificador del
control Login que agreg anteriormente.
(Si la ventana Propiedades no est visible, en el men Ver haga clic en Ventana
Propiedades).

3. Guarde y cierre la pgina.

Ahora puede probar la pgina de inicio de sesin.


Para probar la pgina de inicio de sesin
1. En el Explorador de soluciones, haga clic con el botn secundario en la pgina
Login.aspx y seleccione Ver en el explorador.

2. Sin escribir nada en el control de inicio de sesin, haga clic en Iniciar sesin.
Un asterisco se muestra junto al cuadro Nombre de usuario y al lado del
cuadro Contrasea, porque no especific nada para estos valores. Adems, el
control ValidationSummary muestra mensajes de error que proporcionan detalles
sobre los errores en la pgina.

3. Cierre el explorador.

Mostrar informacin para usuarios que han iniciado sesin.


El siguiente paso es modificar la pgina principal para personalizar su presentacin segn
si el usuario ha iniciado sesin o no. Los usuarios annimos vern un mensaje genrico
con una invitacin a iniciar sesin. Los usuarios que han iniciado sesin vern un mensaje
de bienvenida con el nombre de usuario.

Para personalizar la presentacin para los usuarios que inician sesin.


1. Cambie o abra la pgina Default.aspx y pase a la Vista de diseo.
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 iniciar 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 No ha iniciado sesin. Haga clic en el vnculo Iniciar sesin para hacerlo.
En la ilustracin siguiente se muestra un rea de edicin del
control LoginView que contiene el texto.

Podra ser ms fcil copiar el texto y pegarlo en el rea de edicin o agregarlo


como marcado en la vista Cdigo fuente que registrando el texto en el rea de
edicin directamente. En el siguiente ejemplo se muestra cmo aparece el texto
en el marcado.
<asp:LoginView ID="LoginView1" runat="server" >

<AnonymousTemplate>
No ha iniciado sesin. Haga clic en el vnculo Iniciar sesin para hacerlo.
</AnonymousTemplate>
</asp:LoginView>
5. En la Vista de diseo, seleccione el control LoginView y 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 haga clic en Mostrar etiqueta
inteligente.
LoggedInTemplate define 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 Ya ha iniciado sesin. Bienvenido.
7. Coloque el cursor en el rea de edicin de LoggedInTemplate despus de agregar
el texto. Desde el grupo de Inicio de sesin del Cuadro de herramientas, haga
doble clic en el control LoginName. El control LoginName muestra el nombre
del usuario que ha iniciado sesin.

8. Arrastre un control LoginStatus desde el grupo Inicio de sesin del Cuadro de


herramientas hasta la pgina. El control LoginStatus muestra un vnculo
de inicio de sesin cuando en el usuario no ha iniciado sesin. Cuando el usuario
ha iniciado sesin, el control muestra un hipervnculo para cerrar sesin.
9. Guarde la pgina.

Crear una pgina solo para miembros


Una tarea tpica de muchos sitios web es configurar las pginas para que solo los usuarios
que han iniciado sesin puedan verlas. Por consiguiente, la tarea siguiente de este tutorial
es crear una carpeta para las pginas solo para miembros, agregarle una pgina y, a
continuacin, crear una regla que lmite el acceso a las pginas de la carpeta.
Para agregar una nueva carpeta al sitio Web
1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en
el nombre del sitio web y haga clic en Nueva carpeta.

2. Asigne el nombre MemberPages a la carpeta.

3. En el Explorador de soluciones, haga clic con el botn secundario en la carpeta


MemberPages y, a continuacin, haga clic en Agregar nuevo elemento.

4. Agregue una nueva pgina de formularios Web Forms denominada


Members.aspx.
5. Haga clic en Agregar.

Nota

Asegrese de que crea la pgina en la carpeta MemberPages.


6. Cambie a la Vista de diseo y agregue texto a la pgina del administrador, como
por ejemplo Esta pgina es solo para miembros. El texto exacto no importa
siempre que pueda reconocerla cuando aparezca en el explorador. Use la lista
desplegable Formato del bloque para dar formato al texto de Encabezado 1.

Puede agregar ahora un hipervnculo a la pgina principal que enva a los usuarios a la
pgina exclusiva para miembros. 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 ese modo, los usuarios que visiten el sitio no vern el vnculo
hasta que inicien sesin. Sin embargo, para este tutorial, el vnculo estar disponible para
todos los usuarios de modo que pueda ver qu efecto tiene intentar ver una pgina solo
para miembros sin primero iniciar sesin.

Para vincular a la pgina solo para miembros.


1. Abra o cambie a la pgina Default.aspx.
2. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas hasta la pgina.

3. En la ventana Propiedades del control HyperLink, haga lo siguiente:


a. Establezca la propiedad Text en la pgina solo para miembros.

b. Establezca la
propiedad NavigateUrl en ~/MemberPages/Members.aspx. Esto seala a
la pgina que cre previamente.

4. Guarde la pgina.

Ahora puede probar el hipervnculo que acaba de agregar a la pgina


principal.
Para probar el vnculo
1. En el Explorador de soluciones, haga clic con el botn secundario en la pgina
Default.aspx y, a continuacin, haga clic en Ver en el explorador.

2. Haga clic en Pgina para miembros.


Se muestra la pgina solo para miembros, porque todava no se ha protegido. (Es
ms, de forma predeterminada, ASP.NET utiliza la autenticacin de Windows,
de modo que considere el inicio de sesin bajo las credenciales de Windows.)

3. Cierre el explorador.

Configurar la pertenencia
El paso siguiente es configurar la pertenencia a ASP.NET y configurar los usuarios. Para
ello, puede utilizar la herramienta Administracin de sitios Web, que proporciona una
interfaz parecida a un asistente para establecer opciones de configuracin. Al completar
la configuracin, una base de datos de SQL Server denominada ASPNETDB.MDF se
crea en la carpeta App_Data del proyecto. La base de datos contiene informacin de
pertenencia para este sitio web.

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 pestaa Seguridad, haga clic en el vnculo Utilice el Asistente


para la configuracin de seguridad para configurar la seguridad paso a
paso y, a continuacin, haga clic en Siguiente.

El asistente muestra una pgina en la que puede seleccionar el mtodo de


autenticacin que utilizar el sitio Web.

3. Seleccione la opcin Desde Internet.


Esta opcin especifica que el sitio web utilizar la autenticacin de formularios
ASP.NET, que confa en el sistema de pertenencia a ASP.NET. Al utilizar la
autenticacin de formularios, los usuarios inician sesin en el sitio web utilizando
la pgina de inicio de sesin que cre anteriormente en este tutorial. (La opcin De
una red de rea local configura el sitio web para utilizar la autenticacin de
Windows, que es prctica si las personas que tienen acceso al sitio estn en una
red corporativa. Tal y como se ha mencionado anteriormente, esta es la
configuracin predeterminada de la pertenencia a ASP.NET).
4. Haga clic en Siguiente.
El asistente indica que la aplicacin se configura para utilizar los valores de
proveedor avanzados. De forma predeterminada, la informacin de pertenencia
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.
6. Desactive la casilla Habilite las funciones para este sitio web y, a
continuacin, haga clic en Siguiente.
El asistente muestra una pgina donde puede crear nuevos usuarios.
7. Escriba informacin que defina a un usuario del sitio web. Utilice los valores
que se indican a continuacin como pauta. (Puede usar los valores que desee,
pero asegrese de anotarlos. Estos valores se usarn posteriormente en el
tutorial.)
o User Name Su nombre (sin espacios) o un nombre de ejemplo.

Password Una contrasea. Se requiere una contrasea segura (una que


incluya maysculas y minsculas, signos de puntuacin y tenga al menos
ocho caracteres).
o E-mail La direccin de correo electrnico personal. Si tiene que
restablecer la contrasea, esta direccin se utilizar para enviarle una
nueva contrasea. Por consiguiente, tiene que escribir una direccin de
correo electrnico vlida.
o Security Question y Security Answer Escriba una pregunta y una
respuesta que puedan servirle posteriormente en caso de que necesite
recuperar la contrasea.
8. Active la casilla Usuario activo.
9. Haga clic en Crear usuario.
El asistente muestra una pgina de confirmacin.
Nota

Deje abierta la herramienta Administracin de sitios Web.


Establecer reglas de acceso a la pgina de miembros
Anteriormente en el tutorial, cre una carpeta denominada MemberPages y agreg una
pgina solo para miembros.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 preparar las reglas de acceso
1. En el asistente de seguridad de la herramienta Administracin de sitios Web,
haga clic en Siguiente.
El asistente muestra la pgina Agregar nuevas 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 Permiso, seleccione Denegar.
La regla que est creando deniega el acceso a los usuarios annimos, es decir, a
los que no se han registrado.
6. Haga clic en Agregar esta regla.
La nueva regla se muestra en la cuadrcula. Cuando los usuarios solicitan una
pgina de la carpeta 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
pestaa Seguridad de la herramienta Administracin de sitios Web.
Probar la pgina slo para miembros
Puede probar la pgina solo para miembros teniendo acceso a ella como un usuario
annimo y un usuario registrado.
Para probar la pgina slo para miembros
1. En Visual Studio, presione CTRL+F5 para ejecutar el sitio web y mostrar la
pgina Default.aspx.

2. Cuando la pgina Default.aspx aparezca en el explorador, no inicie sesin. En su


lugar, haga clic en el vnculoPgina de miembros.
Se mostrar la pgina Login.aspx, ya que 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 la contrasea
que us al crear el usuario de inicio de sesin.
Cuando inicia sesin, el sitio le redirige a la pgina para miembros porque ya no
es un usuario annimo.
4. Cierre la ventana del explorador.
Agregar nuevos usuarios
En la primera parte del tutorial, cre un usuario con la herramienta Administracin de
sitios Web. La herramienta Administracin de sitios Web es til si est trabajando con
una lista pequea y definida de usuarios, como los de un equipo pequeo. Sin embargo,
en muchos sitios web, los usuarios se pueden registrar. Por compatibilidad con esta
caracterstica, ASP.NET incluye el control CreateUserWizard, que realiza la misma
tarea que realizamos anteriormente con la herramienta Administracin de sitios Web.
Crear una pgina de registro
En esta parte del tutorial, agregar una funcionalidad que permite a los usuarios
registrarse en el 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 en el
nombre del proyecto de sitio web y, a continuacin, seleccione Agregar nuevo
elemento.
2. Agregue un nuevo Formulario Web Forms denominado Register.aspx y haga
clic en Agregar.
Nota

Asegrese de crear la pgina en la raz del sitio web, no en la carpeta


MemberPages.
3. En la pgina Register.aspx, cambie a la vista de 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.
4. Arrastre un control CreateUserWizard desde el grupo Inicio de
sesin del Cuadro de herramientas hasta la pgina.
5. En la ventana Propiedades correspondiente al control CreateUserWizard,
establezca la propiedadContinueDestinationPageUrl en ~/Default.aspx.
Esto configura el control de forma que vuelve a la pgina principal cuando los
usuarios hacen clic enContinuar despus de crear un usuario.
6. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas hasta la pgina.
7. En la ventana Propiedades del control HyperLink, haga lo siguiente:
o Establezca la propiedad Text en Pgina principal.
o Establezca la propiedad NavigateUrl en ~/Default.aspx.
8. Guarde y cierre la pgina.

Ahora agregar un vnculo que muestra la pgina de registro a la pgina principal y la


de inicio de sesin. 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 haga clic enMostrar etiqueta inteligente.
3. En el panel Tareas de LoginView, seleccione AnonymousTemplate en el
cuadro de lista Vistas para activar la edicin en la plantilla annima.
4. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas hasta la plantilla annima. Puede ser ms fcil colocar el cursor
en el rea de edicin y hacer doble clic en el control HyperLinkdel Cuadro de
herramientas.
5. En la ventana Propiedades del control HyperLink, haga lo siguiente:
a. Establezca la propiedad Text en Register.
b. Establezca la propiedad NavigateUrl en Register.aspx.
6. Cambie a la pgina Login.aspx o brala.
7. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas a la pgina.
8. En la ventana Propiedades del control HyperLink, haga lo siguiente:
a. Establezca la propiedad Text en Register.
b. Establezca la propiedad NavigateUrl en Register.aspx.
Ya puede probar el proceso de registro.
Para probar el registro
1. Cambia a la pgina Default.aspx y presione CTRL+F5 para ejecutar el sitio web
y mostrar la pgina Default.aspx.
Dado que no ha iniciado sesin, se muestra el vnculo Registrar.
2. Haga clic en el vnculo Registrar. Se muestra la pgina de registro.
3. En los cuadros, 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 Crear usuario. Se muestra un mensaje de confirmacin.
5. Haga clic en Continuar.
Vuelve a la pgina principal como un usuario registrado. Observe que el
vnculo Login ha cambiado a Logouty que la informacin mostrada en el
control Login procede de la propiedad LoggedInTemplate, no de la
propiedad AnonymousTemplate.
6. Haga clic en el vnculo Logout. 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 cre. Ya ha iniciado sesin como el
nuevo usuario.
9. Cierre la ventana del explorador.
Permitir a los usuarios el cambio de contrasea
A veces, es posible que los usuarios deseen cambiar sus contraseas y, a menudo, no es
posible hacerlo manualmente. En consecuencia, puede utilizar otro control ASP.NET
para permitir a los usuarios cambiar las contraseas. Para cambiar una contrasea, los
usuarios deben conocer su contrasea existente.
Agregar una pgina donde los usuarios registrados pueden cambiar la contrasea.
Para crear una pgina de cambio de la contrasea

1. En el Explorador de soluciones, haga clic con el botn secundario en la carpeta


MemberPages, haga clic enAgregar nuevo elemento y agregue un nuevo
formulario Web Form, denomnelo ChangePassword.aspx y haga clic
en Agregar.
Asegrese de que crea la pgina en la carpeta MemberPages. Est colocando la
pgina en la carpeta MemberPages porque nicamente los usuarios registrados
pueden cambiar sus contraseas.
2. En la pgina ChangePassword.aspx, pase a la Vista de diseo y escriba texto
como Cambiar contrasea y dele formato de Encabezado 1.
3. Arrastre un control ChangePassword desde el grupo Inicio de
sesin del Cuadro de herramientas hasta la pgina.
4. En la ventana Propiedades correspondiente al control ChangePassword,
establezca la propiedadContinueDestinationPageUrl en ~/Default.aspx.
Esto configura el control de forma que vuelva a la pgina principal cuando los
usuarios hacen clic enContinuar despus de cambiar una contrasea.
5. Guarde y cierre la pgina.
Crear un vnculo de cambio de contrasea en la pgina principal
Ahora puede agregar a la pgina principal un vnculo que muestra la pgina de cambio
de contrasea ChangePassword.aspx. 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.
3. En el recuadro 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.
4. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas hasta el rea de edicin.
5. En la ventana Propiedades del control HyperLink, haga lo siguiente:
a. Establezca la propiedad Text en Cambiar contrasea.
b. Establecer la
propiedad NavigateUrl en ~/MemberPages/ChangePassword.aspx.
Probar la pgina de cambio de contrasea
Ahora puede probar el proceso de cambio de la contrasea.
Para probar la pgina de cambio de 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 Inicio de sesin.
8. Inicie sesin con la nueva contrasea.
9. Cierre el explorador.
Permitir a los usuarios restaurar la contrasea

Cuando los usuarios olvidan la contrasea, el sitio web les permite recuperarla o
restablecerla. Se puede recuperar la contrasea (es decir, envirsela al usuario) si no
tiene aplicado un algoritmo hash.
Cuando se aplica a una contrasea un algoritmo hash, el sistema de pertenencia no
almacena la contrasea real. En su lugar, el sistema procesa la contrasea mediante un
algoritmo unidireccional (un algoritmo hash) que genera un valor nico para la
contrasea y, a continuacin, almacena este valor hash. Este algoritmo se puede repetir
para probar la contrasea de un usuario en el inicio de sesin, pero no se puede invertir
para generar la contrasea real.Esto aumenta la seguridad de la base de datos de
pertenencia, porque el acceso a la base de datos no significa que se expongan las
contraseas.
De forma predeterminada, el proveedor de pertenencia almacena la contrasea como un
valor hash. Por consiguiente, no se puede recuperar. En su lugar, si un usuario ha
olvidado la contrasea, el sitio web debe generar una nueva y enviarla al usuario por
correo electrnico. Para que el sitio web enve los mensajes de correo electrnico el
equipo debe tener acceso a un servidor de Protocolo simple de transferencia de correo
(SMTP).
En este procedimiento, agregar una pgina de restablecimiento de contrasea al sitio
web y configurar el sitio web para enviarles una nueva contrasea a los usuarios por
correo electrnico. Para restablecer una contrasea, el usuario debe proporcionar un
nombre de usuario y responder la pregunta de seguridad que se proporcion cuando se
registr. La nueva contrasea se enva a la direccin de correo electrnico que el
usuario proporcion al registrarse.
Para crear la pgina de restablecimiento de contrasea
1. En el Explorador de soluciones, haga clic con el botn secundario en el
nombre del proyecto de sitio web y, a continuacin, seleccione Agregar nuevo
elemento.
2. Agregue una nueva pgina Formulario Web Forms, denomnela
PasswordRecovery.aspx y haga clic enAgregar.
Nota

Asegrese de crear la pgina en la raz del sitio web, no en la carpeta


MemberPages.
3. En la pgina PasswordRecovery.aspx, pase a la Vista de diseo y escriba texto
como Olvido de contrasea en la pgina y dele formato de Encabezado 1.
4. Arrastre un control PasswordRecovery desde el grupo Inicio de
sesin del Cuadro de herramientas hasta la pgina.
5. Abra la pgina Login.aspx o cambie a ella, y cambie a la Vista de diseo.
6. Arrastre un control HyperLink desde el grupo Estndar del Cuadro de
herramientas hasta la pgina.
7. Establezca la propiedad Text en Olvido de contrasea y la
propiedad NavigateUrl en~/PasswordRecovery.aspx.
Configurar el sitio web para usar un servidor SMTP
Luego, configurar el sitio web para que utilice un servidor SMTP. Para configurar el
servidor correctamente, debe tener la informacin de instalacin. Si el servidor requiere
la autenticacin, necesitar el nombre de usuario y la contrasea. Para saber cmo

obtener esta informacin para la instalacin, pngase en contacto con el administrador


del sistema. Despus de determinar cmo obtener acceso al servidor SMTP, debe
configurar el sitio web para enrutar los mensajes de correo electrnico a ese
servidor. Puede hacerlo en la herramienta Administracin de sitios Web o escribiendo
en el archivo Web.config del sitio web una entrada que contenga una serie de opciones
que determinan cmo se ejecuta la aplicacin. El siguiente procedimiento muestra cmo
utilizar la herramienta Administracin de sitios Web de ASP.NET para realizar esta
tarea.
Para configurar el sitio web para usar un servidor SMTP
1. En el men Sitio Web, haga clic en Configuracin de ASP.NET.
2. En la herramienta Administracin de sitios Web, haga clic en la
pestaa Aplicacin.
3. En Configuracin SMTP, haga clic Definir configuracin de correo
electrnico SMTP. La herramienta muestra una pgina donde puede configurar
el correo electrnico.
4. Escriba la informacin que la pgina solicita.
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 que
tiene la configuracin que ha establecido en la seccin mailSettings.
6. Cierre la ventana del explorador en la que se muestra la herramienta
Administracin de sitios Web.
7. Abra el archivo Web.config.
8. Bajo el elemento system.net y bajo el elemento mailSettings, compruebe la
configuracin de smtp y host.
Nota

Si el servidor SMTP requiere una conexin segura, debe establecer el


atributo enableSsl en true. En la seccin network del archivo Web.config,
agregue un elemento smtp.
9. La configuracin SMTP ser similar a la del siguiente archivo Web.config de
ejemplo.
10. <system.net>
11. <mailSettings>
12. <smtp from="joe@contoso.com">
13.
<network host="<server>" password="<password>"
14.
userName="joe@contoso.com" enableSsl="true" />
15. </smtp>
16. </mailSettings>
17. </system.net>

Nota sobre la seguridad

Para proteger la informacin de configuracin, como el nombre de usuario y


contrasea, haga que ASP.NET cifre la parte del archivo Web.config donde
la informacin de SMTP est almacenada. Para obtener ms informacin,
vea Cifrar la informacin de configuracin mediante una configuracin
protegida. Adems, de forma predeterminada ASP.NET enva las
credenciales del servidor smtp en texto no cifrado y puede ser interceptado
por programas que graben la actividad en la red. En un sitio de produccin,
debe utilizar SSL (capa de sockets seguros) para cifrar la informacin
confidencial que se intercambia con el servidor.
Probar la restauracin de la contrasea
Puede probar el proceso de restablecer la contrasea ahora. Despus la usar para iniciar
sesin.
Para probar la pgina de restablecimiento de contrasea
1. Presione CTRL+F5 para ejecutar el sitio Web.
2. Haga clic en Inicio de sesin.
3. En la pgina de inicio de sesin, haga clic el vnculo Olvido de
contrasea. Escriba su nombre de usuario y haga clic en Enviar.
4. Escriba la respuesta a la pregunta de seguridad y, a continuacin, haga
clic Enviar.
5. Espere unos minutos antes de comprobar el correo electrnico.
6. Utilice la nueva contrasea para iniciar sesin.
Pasos siguientes
En este tutorial se ha ilustrado un caso sencillo pero completo para crear una aplicacin
que pide credenciales a los usuarios, muestra informacin a los que han iniciado sesin,
permite restablecer 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, quiz quiera hacer lo siguiente:
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
roles.
Cambiar la apariencia de los controles de inicio de sesin. Los
controles Login, PasswordRecovery, yCreateUserWizard admiten plantillas, de
manera que puede configurar y aplicar autoformato al texto y los botones que
contienen.
Combinar la pertenencia 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.
Agregue los controles de inicio de sesin a las pginas maestras ASP.NET. Las
pginas maestras permiten definir un diseo de pgina que se puede utilizar con
todas las pginas de una aplicacin. Para obtener informacin detallada,
vea Tutorial: Crear y usar pginas maestras ASP.NET en Visual Web
Developer.

Você também pode gostar