Tutorial de ASP.NET
Vista Previa de ASP.NET 2.0

Utilizando los Controles de Inicio de Sesión

Los siguiente ejemplos muestran como usar los controles de inicio de sesión en una aplicación.

Creando e Iniciando la Sesión para un Usuario

En este ejemplo vemos la página principal de un sitio web que incluye el control LoginStatus animaal usuario registrarse en el sitio. El control LoginStatus de estapágina determina que ese usuario no está actualmente autenticado yofrece al usuario un enlace para registrarse. Al pinchar en dichoenlace se lleva al usuario a la página login.aspx que está configuradapor defecto en la sección de formularios de autenticación delweb.config. El control de Login se muestra en lápágina Login.aspx. (Nota: la propiedad VisibleWhenLoggedIn del controlde login es ingnorada en la página por defecto de registro). En esteejemplo, el control de inicio de sesión tiene configuradas propiedadesadicionales para mostrar el enlace de “Crear Usuario”, al pinchar eneste enlace se lleva al usuario a otra página dónde se usa el control CreateUserWizard. Por defecto el control CreateUserWizard esun proceso de 2 pasos; en el primero el usuario introduce lainformación necesaria y cuando pincha sobre el botón de crear usuario,el control pasa la información a la API de miembros. Si el usuario nopuede ser creado por la API de miembros se muestra un mensaje de errorapropiado dentro del control, y si el usuario si ha podido crearseentonces el control ejecuta el segundo paso en el asistente. En esteejemplo la propiedad ContinueDestinationPageUrl ha sido configuradapara devolver al usuario a la página principal una vez haya sidocreado. Por defecto el control CreateUserWizard autentica o registrausuarios cuando han sido correctamente creados. Cuando un usuario esdevuelto a la página principal se dará cuenta de que el controlLoginStatus ha detectado que ahora son usuarios autenticados y muestraun enlace de logout. El pinchar sobre dicho enlace provoca que se borreel ticket de autenticación del usuario y conmute de nuevo a la páginade registro. En este momento el usuario puede pinchar sobre el enlacede login, y si la cuenta de usuario ya ha sido creada, puede introducirsu nombre de usuario y password en la página login.aspx para iniciarsesión en la web.

Observaremosque el control Login muestra un checkbox de “Recuerdame”. Alseleccionar ese checkbox, si te registras de forma satisfactoria, seguardará en la máquina del cliente una cookie permanente (persistant),con un tiempo de vida de 50 años. Podemos desactivar esta opción en elcontrol de Login configurando las propiedades DisplayRememberMe yRememberMeSet a false. Al visualizar el código fuente de este ejemplose observa que no se ha escrito nada de código y que se han configuradomuy pocas propiedades para tener el escenario completo. Las propiedadesde estilo para estos controles se configuran mediante una hoja deestilos aplicada al sitio.

        C# LoginStatus, Login y CreateUserWizard
        

Mostrando Contenidos Diferentes para Usuarios Autenticados

Este ejemplo ilustra como usar un control de LoginViewpara mostrar contenidos diferentes para los usuarios autenticados y losusuarios anónimos. Aunque no se muestra en este ejemplo, el control LoginView también soporta el mostrar diferentes contenidos según el rol del usuario. El AnonymousTemplate en el control de LoginView contiene un control de login y el LoggedInTemplatecontiene el control de LoginName. Los controles LoginName utilizan laspropiedades formatstring para mostrar Welcome, seguido del nombre delusuario. Para ver ambas plantillas nos registramos en el sitio usandouna cuenta de usuario previamente creada o creamos una nueva, y paraver el contenido anónimo pinchamos sobre Logout en la parte superior dela página.

        C# LoginView and LoginName
        

Cambiando una Contraseña

El control ChangePassword por defecto necesita que el usuario esteautenticado en el sitio antes de poder cambiar el password. Sinembargo, en este ejemplo hemos configurado la propiedad DisplayUserNamea true, y en consecuencia un usuario puede ser autenticado por elcontrol ChangePassword antes de cambiar su password, o un usuario yaautenticado en el sitio puede introducir una cuenta de usuariodiferente y autenticarse como ese usuario antes de cambiar su password.El ejemplo además enlaza a la página CreateUser que te permitirá crearun usuario válido para probar este escenario.

        C# ChangePassword