Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
Nota
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.
3. Haga clic en el rea de edicin del control LoginView para activar la edicin.
<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.
Nota
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.
b. Establezca la
propiedad NavigateUrl en ~/MemberPages/Members.aspx. Esto seala a
la pgina que cre previamente.
4. Guarde la pgina.
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.
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