Colaboraciones en el Guille

Personalización en ASP .NET 2.0 (Parte 02)

Controles Login

 

Fecha: 15/Ene/2006 (15/ene/2006)
Autor: Ricardo La Rosa Roldan - RiLaRos@hotmail.com

 



Este articulo es el complemento de uno ya publicado anteriormente en el cual se terminara la aplicación iniciada en dicho articulo (ver articulo), antes de empezar con el articulo quisiera brindar las disculpas del caso por la demora para entregar la segunda parte de este articulo, sin nada mas que decir vamos a lo nuestro.

Nos habíamos quedado en la implementación de la pagina del estado del usuario, pero antes de eso vamos a hacer unos retoques al web.config para que tenga mas funcionalidad nuestra aplicación:

En el TAG de authorization le agregamos lo siguiente: Denegar usuarios no autenticados , esto es para que la aplicación no permita ingresar a los usuarios no autenticados, también se puede modificar esto con la herramienta de configuración, administrando las reglas de acceso.

En el TAG de authentication le agregamos el siguiente tag: autenticacion por formularios, esto nos permitirá que al cargar nuestra aplicación, si el usuario no es autenticado, se nos redireccione a la pagina de logueo para que se pueda autenticar dicho usuario.

Sin mas modificaciones hasta el momento en el web.config, ahora si procedemos a implementar la pagina StateUser.aspx, para empezar crearemos una tabla de 2x2 para ir organizando los controles que iremos agregando, en la primera celda agregaremos un LoginView y un LoginStatus, los cuales nos servirán para mostrar al usuario dos apariencias distintas cada uno de acuerdo si el usuario a sido autenticado o no, el primero nos mostrar un mensaje, el segundo un link de LogIn y otro de LogOut dependiendo del estado del usuario, luego en la 2da celda agregaremos un label y un image pa mostrar el nick y avatar de dicho usuario, en caso este logueado, en la siguiente celda un link para que el usuario pueda personalizar sus datos y finalmente un GridView para mostrar datos al usuario autenticado.

Una vez terminado el diseño ahora implementamos los perfiles para el usuario, y para eso agregamos lo siguiente en el archivo web.config:

Asignar perfiles

con esto ya podemos usar perfiles en nuestra aplicación y los valores serán guardados en la base de datos que habíamos creado y para ello procedemos a escribir el siguiente código en el archivo de code-behind de StateUser.aspx (StateUser.aspx.cs)

Estado del usuario

Con todo esto ya podemos acceder a la pagina de estado de usuario y ver su perfil, en caso no tenga aun, podemos personalizarlo en la pagina Personalizar.aspx, y para ello ahora la implementamos, esta es una parte muy importante del articulo, por lo cual decidí llamarlo personalización, ya que gracias a lo que podemos hacer aca se pueden crear los perfiles de usuario ya sea un nick, foto, fecha de nacimiento, etc. , para hacerlo vamos a agregar a nuestra pagina un textbox para que el usuario ahi pueda modificar su Nick un radiobuttonlist para que el usuario escoja una imagen la cual va a mostrar, un image para mostrar la imagen seleccionada por el usuario y un button para guardar los cambios que se pudieran hacer, y escribimos el siguiente código:

Personalizacion de perfiles usuario

ahora si ya va tomando forma nuestra aplicación, bueno algo mas que se me estaba olvidando, pues como esta autenticado por formularios no deja entrar a ninguna pagina a menos que se haya autenticado y se preguntaran pero si soy nuevo y quiero registrarme ¿que hago? ya que al dar click en el vinculo de nuevo tampoco les dejara ingresar ya que tienen que loguearse primero, pues para lograr el permiso a ciertas paginas se usan los siguientes tags dentro del web.config:

Permiso especial a paginas

ya casi terminamos y para finalizar, implementaremos la paginara para recuperar las contraseñas, y para ello en la pagina RecuperarPassword.aspx agregamos el control RecoveryPassword y configuramos las propiedades correspondientes en MailDefinition como por ejemplo el archivo el cual ira la contraseña, que por lo general puede ser un archivo .txt o también podíamos enviarlo en formato HTML, y dentro de ese archivo agregamos los tags <% UserName %> y <% Password %> para que se reporte en nombre de usuario y la contraseña respectiva claro que no será la misma ya que lo que hace el control es resetear el password en la BD y te envía un nuevo password con el cual podrás ingresar y luego cambiar tu password, hablando de cambiar password también implementaremos una pagina para ello, pero no nos desviemos del temas, bueno lo demás del texto que ira en el .txt que se le enviara al usuario es personalizado de acuerdo a las preferencias de cada administrador del sitio web y además también tenemos que configurar el servidor SMTP en el web.config para que se pueda envía el mail al usuario con su respectiva clave, la configuración es como se muestra en la siguiente imagen:

Configuracion servidor SMTP

el nombre del host sera de acuerdo al servidor smtp que se tenga para enviar mails, teniendo esto configurado ya podemos hacer uso del control RecoveryPassword y bueno como les había comentado también crearemos una pagina para cambio de contraseñas y la llamaremos ChangePassword.aspx y dentro de ella le agregaremos el control ChangePasword y bueno como sabemos todas las propiedades son totalmente configurables, sin mas que editar en este control tenemos nuestra aplicación de personalización completada.

Conclusiones

Bueno en si terminamos con la aplicación que teníamos pendiente en el articulo anterior pero lo mas importante fue aprender sobre la personalización en ASP .NET 2.0 y como podemos lograrlo usando los controles Login ya que aprendimos la funcionalidad de todos en este articulo se hablo de los 4 últimos controles que no habíamos mencionado anteriormente: LoginView, LoginStatus, RecoveryPassword y finalmente ChangePasword, con todo esto podemos hacer una aplicación bien practica y muy sencilla de hacer ya que en toda la aplicación solo utilizamos unas cuantas líneas de código, espero sea de gran utilidad para ustedes este articulo y también ser retribuido con sus calificaciones para que me animen a seguir escribiendo y brindándoles los conocimientos que pueda adquirir, sin mas que decirles sino califíquenme doy por finalizado este articulo.


Espacios de nombres usados en el código de este artículo:

System.Data
System.Data.SqlClient


Fichero con el código de ejemplo: RiLaRos_Personalizacion_Parte02.zip - 93 kb

(MD5 checksum: 5df7928cfd1241180a976850766fe7d8)


ir al índice principal del Guille