Membership – Caso Práctico – Parte 2
Bueno, ya como configurar en aspecto de base de datos, a la Membership…
Nuestro sitio tendría una Página de Login, en este caso creo Login.aspx…
En mi caso genero una página con este estilo

Voy a la barra de tares y uso el Control Login

Que finalmente insertado, nos quedaría

Este control trae muchas opciones para personalizar su diseño, pero no me interesa… solo funcionalmente…
Acá solo tendríamos que modificar el FailureText, ya que a veces da errores muy genéricos, cuando te queres loguear. En lo personal, me paso que estaba insertando datos inválidos, y me decía que no se podía conectar a la base de datos. Así que por las dudas solo le pones un “Error, datos inválidos”.
Otro atributo a configurar es el MembershipProvider, pero si se acuerda en mi post anterior puse uno por defecto, así con dejarlo en blanco andaría. En caso de tener varios, tendríamos que configurar cual usaríamos…
Levantamos nuestra aplicación… seteando previamente a la página de Login como la página de inicio, probamos en ingresar credenciales inválidas…

Perfecto, ahora volvemos a intentar con un usuario que realmente existe… y van a ser re direccionados al Default.aspx … de todos modos, si ustedes hubieran escrito a mano la dirección, omitiendo el logueo, también podría haber ingresado al sitio, ya que nunca definimos que paginas, puede ver un usuario anónimo y cual no…
En nuestro caso, la default la verían los dos… pero ahora vamos a generar una página que sea “EditProfile.aspx” que en teoría solo pueden verla los usuarios registrados.
Por ahora no le ponemos ningún contenido, solo es una página vacía.
Y en el Web.Config ingresamos esto, fuera del nodo de <System.Web>
<location
path=“EditProfile.aspx“>
<system.web>
<authorization>
<deny
users=“?“/>
</authorization>
</system.web>
</location>
Y escribimos su dirección

Vamos a ver que nos re direcciona al login.aspx

Una vez que autentificamos, nos va a retornar a la pagina que queríamos visualizar.
Lo que configuramos en el Web.Config, es bastante simple para explicarlo, solo denegamos el acceso a los usuarios anónimos.
Aplicamos un diseño acorde a esta página…

Y usamos el control ChangePassword, para dar la posibilidad de cambiar el password al usuario.

Arrastrarlo en el contenido principal

Como en el caso anterior, puede personalizar todo el diseño, desde las propiedades, como los literales
Y solo configuramos “SucessPageUrl” que sería la pagina en donde re direccionaría en caso de cambiar correctamente la contraseña.

Lo testeamos, y vemos que anda correctamente, la opción de Cambiar la contraseña.
Si son de entrar a foros, y portales que interactúan con el usuario, dirán… donde esta la opcion de logout…
Vamos a la barra de herramientas, y usamos el control

Que nos quedaría en la aplicación

También podemos usar controles como

Que solo imprime el usuario logueado

Como verán, los componentes nos facilitan muchas de las actividades comunes que se suele hacer en la administración del usuario.
Ya tenemos, una página de Logueo y otra para modificar la contraseña del usuario logueado.
Ahora volvemos a nuestro sitio de demostración que tenemos en Default.aspx…
Usamos el control LoginView

Y lo arrastramos a donde tenemos el Buscador de Empleados

Tenemos dos tipos de Templates, uno para los Anónimos, y otros para los usuarios Logueados, en este caso vamos a usar el “LoggedInTemplate”
Y arrastramos nuestro contenido dentro del mismo. Lo mismo, para las otras áreas, solo visibles para los usuarios Logueados.
Una vez definido, configuramos Default.aspx como la pagina inicial… y levantamos la aplicación, y verán que los contenidos no son visibles para los usuarios que no están Logueados.

Usamos un LoginView y un Control de LoginStatus, para mostrarles a los usuarios anónimos la posibilidad de re direccionarlos a la página de logueo

Y corriendo la aplicación nos quedaría

Pueden testear, y esta andando correctamente la visualización…
Lo dejo hasta acá, para no extenderlo demasiado, ya que nos quedaría la creación de usuarios, y empezar a ver cómo manejar los Roles.
El ejemplo de este post, está en el Sitio del grupo de google, dejo el link…
http://groups.google.com.ar/group/developersdotnet/web/Membership_PostPart2.rar
Saludos.





















