06 Octubre 2009 ~ 2 Comments

Membership API en ASP.NET

Cuando trabajamos en un sitio web muy posiblemente lleguemos al punto de que se necesite distinguir a los usuarios. Es decir algunos usuarios debo poder reconocerlos para ofrecerles un contenido o acceso especial. Mientras que otros simplemente acceden a las primeras paginas de nuestro sitio.

Esta distinción de usuario se hace comúnmente por medio de formularios de acceso o –login- . Pero si estamos empezando o simplemente no queremos complicarnos en el diseño pensar en la base de datos, su conexión y la serie de formularios para autenticar, crear nuevos usuarios, restablecer las contraseñas de los existentes y demás tareas de la administración de usuarios puede ser un tanto molesto.

ASP.NET desde su versión 2.0 posee una API para el manejo de membresias (Membership API). Esta API es un “framework” basado en la autenticación por medio de formularios. Cuando usamos esta no tenemos que preocuparnos por implementar paginas de –login- o el almacenamiento de las credenciales.

Ventajas de Membership API

  • La habilidad de crear y borrar usuarios mediante programación o por medio de la utilidad de configuración web de ASP.NET
  • Restablecimiento de claves con la posibilidad del reenvió automático de la nueva clave al correo al usuario si este lo almaceno al momento de la creación de la cuenta
  • Un set de controles pre construidos para paginas de login, creación de usuarios, estado del usuario y diferentes vistas para usuarios autenticados y anónimos
  • Un componente de abstracción entre el repositorio de datos y la aplicación.

Ahora vamos a usarla!

Antes de poder adentrarnos en el uso de la API hay una serie de pasos importantes a seguir:

  1. Configurar el web.config para permitir el acceso a los usuarios registrados y negarlo a los anonimos
  2. Establecer el repositorio de datos. Por ejemplo si estamos utilizando MySQL tendremos que hacer una serie de tablas y procedimientos para el funcionamiento
  3. Configurar la conexion con el repositorio en el archivo web.config
  4. Crear los usuarios por medio de la utilidad de configuración web de ASP o directamente en la base de datos (no lo recomiendo)
  5. Finalmente crear la pagina de login que use los controles pre construidos para que valide la entrada y el almacenamiento de las credenciales en el usuario

Este es el esquema que seguiremos en los siguientes post hasta que al final tengamos una pagina de login basada en la API construida.

1. Configurando la autenticación por formularios

La API de membrecía esta basada en la parte superior de la autenticación por formularios y proporciona una mirada –out of the box- para el manejo y la autenticación de usuarios. Por lo tanto como primer paso debemos configurar la aplicación para que utilice el método de autenticación por formularios como método usual. Por lo tanto, debemos estructurar nuestra aplicación de un modo diferente. La pagina principal debe poder ser exequible tanto a usuarios anónimos como a los identificados, pero los diferentes directorios serán restringidos en función de los permisos que otorguemos a los registrados. Estos subdirectorios tiene su propio web.config que rechaza el acceso a los usuarios inválidos, tan pronto un usuario no valido intenta ingresar el –runtime- de ASP lo redirige a la pagina de inicio de sesión.

Entonces en la raiz de la aplicación, sobre el web.config se establece que el metodo de autenticación seran los form:

<system.web>
<authentication mode=”Forms” />
</system.web>

Como se puede ver , esta configuración especifica permite a los usuarios anónimos acceder a las paginas. Por lo tanto a los subdirectorios se les puede incluir en sus web.config:

<configuration>
<system.web>
<authorization>
<deny users=”?” />
</authorization>
</system.web>
</configuration>

Esta configuración no le permite a los usuarios anónimos entrar a los directorios protegidos. Si alguien no autenticado intenta acceder a los recursos de este directorio el –runtime- de ASP inmediatamente lo redirige a la pagina de login. Po supuesto hay que crear la pagina de login pero la API como se vera en los siguiente post nos hará todo mucho más fácil.

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • Live

2 Responses to “Membership API en ASP.NET”

  1. Allen Widgets 6 Octubre 2009 at 10:14 pm Permalink

    In addition to classic web applications, ASP.net 2.0 contains everything needed to create and use XML web functions. Allen Widgets

  2. Maho 7 Octubre 2009 at 12:54 pm Permalink

    😀 ♥


Vamos! Deja un comentario :)