Usando ASP.NET membrership en Winforms (1 / n)

membership

Sistemas de autenticación de usuarios

Una de las preguntas más habituales en los foros de desarrollo tiene relación con los sistemas de autenticación de usuarios. Normal ¿qué aplicación de hoy en día no necesita de un sistema que gestione los usuarios, roles y permisos de la aplicación?

Para ello existen varias alternativas pensadas para diferentes tipos de aplicaciones: Por ejemplo, si sabemos que nuestra aplicación va a ejecutarse en un entorno corporativo, ¿qué mejor que usar el directorio activo de la empresa para gestionar lo relativo a la seguridad? Por otro lado, si no estamos seguros si va a existir un directorio activo, lo mejor va a ser usar nuestra propia base de datos de gestión de usuarios.

En este punto es dónde veo más lagunas y en el que se va a centrar esta serie de posts.

Antes de nada, que es mejor? Usar un sistema existente o crear nuestro propio sistema de gestión de usuarios? Hablaremos de esto más adelante 🙂

ASP.NET Membership

Existe un sistema de seguridad basado en proveedores de autenticación llamado ASP.NET Membership, que apareció con ASP.NET 2.0, y que originariamente estaba pensado para su uso en proyectos Web. Este sistema permite gestionar los usuario y roles de nuestras aplicaciones, y expone un completo modelo de objetos para usar en nuestras aplicaciones y simplificar la creación de usuarios, roles, validaciones, y todas aquellas tareas típicas de una gestión de usuarios.

Lo mejor de este sistema es que está basado en proveedores y que es extensible. Dicho de otro modo, podemos usar una base de datos de SQL para validar los usuarios, pero también admite otros proveedores de validación, como un directorio activo o de otros fabricantes como Oracle. Además, el hecho de que sea extensible hace que incluso nosotros podamos escribir nuestro propio proveedor de autenticación.

Escenarios

Lo habitual es usar este sistema en aplicaciones Web, ya que no suele ser habitual que los usuarios de un sitio Web utilicen autenticación contra un directorio activo. Por otro lado, desde hace unos años, cada vez oigo lo útil que sería disponer de este modelo para aplicaciones cliente, ya sean WinForms o WCF. Bien, en esta serie nos centraremos en esto: Usar ASP.NET membership en aplicaciones cliente para disponer de un sistema de gestión de usuarios ‘prefabricado’.

Existen dos posibles escenarios: En el primero estamos desarrollando una única aplicación cliente y queremos usar este sistema. En la segunda, estamos creando varias aplicaciones (WinForms, WPF, e incluso Web) y nos gustaría montar un único sistema centralizado basado en servicios, que serán usados por las distintas aplicaciones. Esto es posible desde el Framework 3.5 SP1 y se llama ‘Client applicaction Services’.

Al lío

En los próximos posts vamos a ver cómo:

  • Crear la base de datos de membresía.
  • Escenario 1: Crear una aplicación WinForms que utilice el sistema de membresía.
  • Escenario 2: Crear una solución de ejemplo para ver el uso de ‘Client applicaction Services’.
  • Desmitificando: Discutir acerca de si es mejor un sistema estándar o crear nuestro propio sistema.
  • Y alguna cosilla más que se nos ocurrirá… 🙂

En los próximos días (si hay suerte uno por día, y si no uno por mes :-P) iré publicando los siguientes posts de la serie.

Nos leemos pronto!


Actualización (artículos siguientes):

Usando ASP.NET membrership en Winforms (2 / n)

Usando ASP.NET membrership en Winforms (3 / n)

** crossposting desde el blog de Lluís Franco en geeks.ms **

Leave a Reply

Your email address will not be published. Required fields are marked *