lunes, 10 de octubre de 2011

Introducción a los Controles de Incio de Sesión de ASP .NET

Introducción a los Controles de Incio de Sesión de ASP .NET
Que tal amigos, aqui les dejo una reseña de los controles para Inicio de Ssesión de ASP .NET.  Durante estos días estaré ampliando la información y publicando diversos turoriales relacionados a estos controles.
Desde Visual Studio 2005 (Framework 2.0) ASP.NET nos proporciona una funcionalidad de inicio de sesión (autenticación) segura para las aplicaciones web ASP.NET sin necesidad de programación. Las plantillas de proyecto predeterminadas de Visual Studio para aplicaciones web y sitios web incluyen páginas ya generadas que permiten que los usuarios se registren en una nueva cuenta, inicien una sesión y cambien sus contraseñas.
De manera predeterminada, los controles de inicio de sesión ASP .NET tienen las siguientes características:
  • Se integran con la autenticación de pertenencia a ASP.NET y de formularios de ASP.NET para ayudar a automatizar la autenticación del usuario en un sitio web.
  • Se transmiten en forma de texto sin formato en HTTP.  Si se requiere mas seguridad puedes utilizar HTTPS con cifrado SSL.
De igual manera, también puedes crear tus propias páginas a las que puedes agregar los controles de inicio de sesión ASP.NET con el fin de agregar funcionalidad de inicio de sesión:
Controles de Inicio de Sesión ASP .NET
Controles de Inicio de Sesión ASP .NET

Páginas de Inicio de Sesión Integradas

Cómo lo mencioné arriba, cuando se usa la plantilla predeterminada de Visual Studio para crear un sitio web o una aplicación web, las páginas que admiten la funcionalidad de inicio de sesión se crean en la carpeta Cuenta. De manera predeterminada, las páginas en la carpeta Cuenta no son accesibles a usuarios anónimos, excepto la página de registro (Register.aspx) y la página de inicio de sesión (Login.aspx). Los valores que definen el acceso a páginas de la carpeta Cuenta se configuran en el archivo Web.config de esa carpeta. Los valores que definen acceso a la página de inicio de sesión se configuran en el archivo raíz Web.config.
Cuando utilizas la plantilla de “Aplicación web ASP. NET” por default veras la siguiente estructura en el explorador de soluciones:
Plantilla Aplicación web ASP .NET
Aplicación web ASP .NET

Carpeta Cuenta (Account)

Login.aspx

Habilita a los usuarios que tienen una cuenta para iniciar sesión proporcionándoles un nombre de usuario y contraseña. Esta página incluye un vínculo a la página de registro. La página Login.aspx es accesible a usuarios anónimos.
Contiene el control Login.
Control Login
Control Login

Register.aspx

Habilita a los usuarios para registrarse y crear una nueva cuenta. Esta página es accesible para los usuarios anónimos y los usuarios autenticados .
Contiene el control CreateUserWizard.
Control CreateUserWizard
Control CreateUserWizard

ChangePassword.aspx

Habilita a los usuarios registrados para cambiar sus contraseñas. Esta página sólo es accesible para los usuarios autenticados.
Contiene el control ChangePassword.
Control Changepassword
Control ChangePassword
Si el cambio de contraseña es exitoso, el usuario es redirijido a la página de ChangePasswordSuccess.

Funcionalidad de inicio de sesión en la página maestra.

Cuando utilizas la plantilla predeterminada de Visual Studio para crear un sitio web o una aplicación web, la página maestra predeterminada (Site.master) contiene los siguientes controles:
La página Site.master también incluye un hipervínculo a la página de inicio de sesión, a la que pueden acceder todos los usuarios.

Almacenamiento de la información de inicio de sesión

La información de inicio de sesión (pertenencia) se encuentra almacenada en una base de datos. De manera predeterminada, ésta es una base de datos local en el archivo ASPNETDB.mdf en la carpeta App_Data de la aplicación web. La base de datos se puede crear de las maneras siguientes:
  • Puede usar la herramienta Administración de sitios Web para configurar manualmente la pertenencia y los roles, que la base de datos crea automáticamente.
  • Cuando el primer usuario se registra y crea una cuenta, y si la base de datos no existe todavía, ASP.NET crea la base de datos automáticamente. Esta opción no proporciona ninguna manera de especificar los roles para un usuario.

Modificar los atributos de pertenencia

La configuración para la pertenencia de ASP.NET está en la sección membership del archivo raíz Web.config. En la sección providers puede cambiar a los atributos como el número de intentos de inicio de sesión no válidos permitidos, longitud de la contraseña, etc.

Control Login (inicio de sesión)

Tiene las siguientes características:
  • Muestra una interfaz de usuario para la autenticación.
  • Contiene cuadros de texto para el nombre de usuario, la contraseña y una casilla que permite a los usuarios indicar si quieren que el servidor almacene su identidad utilizando la pertenencia a ASP.NET y que los autentique automáticamente la próxima vez que visiten el sitio.

Control LoginView

Tiene las siguientes características:
  • Permite mostrar información diferente a los usuarios anónimos y a los que han iniciado una sesión mediante sus plantillas: AnonymousTemplate o LoggedInTemplate.
  • En las plantillas puede agregar marcado y controles que muestren información apropiada para usuarios anónimos y usuarios autenticados, respectivamente.
  • También incluye eventos para ViewChanging y ViewChanged, que le permiten escribir controladores para cuando el usuario inicie una sesión y cambie el estado.

Control LoginStatus

Tiene las siguientes características:
  • Muestra un vínculo de inicio de sesión para los usuarios que no están autenticados y un vínculo de cierre de sesión para los que están autenticados.
  • El vínculo de inicio de sesión lleva al usuario a una página de inicio de sesión.
  • El vínculo de cierre de sesión restablece la identidad del usuario actual para que sea un usuario anónimo.
Control LoginName
Tiene las siguientes características:
  • Muestra el nombre de inicio de sesión de un usuario si el usuario ha iniciado la sesión mediante la pertenencia a ASP.NET. De forma alternativa, si el sitio o aplicación webutiliza Autenticación de Windows integrada, el control muestra el nombre de cuenta de Windows del usuario.

Control PasswordRecovery

Tiene las siguientes características:
  • Permite recuperar las contraseña de un  usuario; una vez que se proporciona el nombre de usuario el control envía un mensaje de correo electrónico con la contraseña del usuario a la dirección de correo electrónico que registró cuando dió de alta su cuenta.
  • Puedes configurar la pertenencia a ASP.NET para almacenar contraseñas mediante el cifrado no reversible. En ese caso, el control PasswordRecovery genera una nueva contraseña en lugar de enviar la contraseña original al usuario.
  • También puedes configurar la pertenencia para que incluya una pregunta de seguridad que el usuario debe contestar para recuperar una contraseña. Si lo hace, el control  hace la pregunta y comprueba la respuesta antes de recuperar la contraseña y posteriormente envía el correo si la respuesta es correcta.
  • El control PasswordRecovery requiere que la aplicación pueda reenviar el mensaje de correo electrónico a un servidor de Protocolo simple de transferencia de correo (SMTP). Puedes  personalizar el texto y formato del mensaje de correo electrónico enviados al usuario estableciendo la propiedad MailDefinition.

Control CreateUserWizard

De forma predeterminada, el control CreateUserWizard agrega el nuevo usuario al sistema de pertenencias de ASP.NET.
El control CreateUserWizard recopila la siguiente información sobre el usuario:
  • Nombre de usuario
  • Contraseña
  • Confirmación de contraseña
  • Dirección de correo electrónico
  • Pregunta de seguridad
  • Respuesta de seguridad.
Esta información se utiliza para autenticar a los usuarios y recuperar las contraseñas del usuario, si fuera necesario.

Control ChangePassword

Tiene las siguientes características:
  • Permite a los usuarios cambiar su contraseña. El usuario debe proporcionar primero la contraseña original y, a continuación, crear y confirmar la nueva contraseña. Si la contraseña original es correcta, la contraseña del usuario se cambia a la nueva contraseña. El control también se encarga de enviar un mensaje de correo electrónico sobre la nueva contraseña.
  • Incluye dos vistas con plantilla que se muestran al usuario. La primera esChangePasswordTemplate, que muestra la interfaz de usuario que se utiliza para recopilar los datos necesarios para cambiar la contraseña del usuario. La segunda plantilla esSuccessTemplate, que define la interfaz de usuario que se muestra después de haber cambiado correctamente la contraseña del usuario.
  • El control ChangePassword funciona con usuarios autenticados y no autenticados. Si el usuario no se ha autenticado, el control solicita al usuario que escriba un nombre de inicio de sesión. Si el usuario se ha autenticado, el control rellena el cuadro de texto con el nombre de inicio de sesión del usuario.
Related Articles