4.21.2006

Aventuras en un Framework de Seguridad en .NET (1)

He estado trabajando recientemente en crear un framework simple pero universal para poder manejar la autorización y los perfiles en nuestros proyectos de Windows Forms. Lo que quiero lograr es:

1. Que los programadores puedan implementar la seguridad sin programar.
2. Que podamos hacer visibles/invisibles o habilitados/deshabilitados elementos de la IU de una manera totalmente declarativa, ya sea en una BD o en XML.
3. Que esto funcione también en el .NET Compact Framework (v 2.0)
4. Que me pueda integrar a distintos proveedores de autentificación y membresía como los de ASP.NET 2.0 o el ActiveDirectory.
5. Que podamos validar si un método o proceso está autorizado para ejecutarse.
6. Que tengamos reglas simples con excpresiones de autorización.

Ya tengo bastante avance sobre este tema. Antes de empezar, evalué el Enterprise Library de Microsoft. Me pareció demasiado complejo, por lo que tomé algunas ideas de allí para hacer algo más simple. En particular, me gustó mucho el evaluador de expresiones booleanas que tiene para definir autorización. Sin embargo, no me gusta que todo el profiling se tiene que seguir haciendo en código. Quiero algo declarativo.

Lo que tengo listo hasta ahora es:

1. Un control gráfico que con hacer drag and drop en una forma se encarga de habilitar/deshabilitar cualquier control mediante reflection con base en las reglas declaradas para el usuario firmado.
2. La posibilidad de autorizar un método con una sóla función (AuthorizeMethod).
3. Flexibilidad para operar con el Membershipprovider de ASP.NET 2.0 o con Active Directory.
4. Ya funciona en Compact Framework.

2 comentarios:

Anónimo dijo...

Amigo Héctor:
me ha alegrado encontrar un blog como el tuyo, dedicado al Compact Framework en español, y tan directo al grano con temas que van más allá de cómo crear un messagebox. Pese a que no ofrezco un comentario sobre tu post, te aseguro que estaré pendiente de tus próximas noticias. Programé algo en Compact Framework y Embedded Visual Basic hace un par de años. Ahora pretendo reengancharme y creo que tu ayuda será gratificante.
Gracias por tu ayuda desinteresada.

Anónimo dijo...

¿Y el código?

:D