Al fin hoy me leí de una corrida la documentación que acompaña al Authorization and Profile Application Block, el últimisisisisisimo release del conjunto de Application Blocks que Microsoft pone a disposición a la comunidad de desarroladores .NET.
Igual que los anteriores Applications Blocks, éste se encarga de una de las tareas rutinarias de cualquier aplicación, en este caso, la autorización y manejo de perfiles de usuario.
En este caso, se ofrecen clases para el manejo de autorización de acciones de los usuarios, basandosé en el concepto de Roles, idéntico al concepto de Grupos en la administración de servidores Windows, mediante el cual los permisos se asignan a conjuntos de usuarios que realizan las mismas tareas y requieren todos los mismos permisos.
También se incluyen clases para manejar Perfiles de usuarios, es decir, un tipo de "catálogo" que incluso pueden ser de fuentes distintas al mismo tiempo (Active Directory, ERP, CRM, Passport).
El definir el acceso a la fuente de datos (providers) como interfaces, permite que el desarrollador programe una clase con las características particulares que requiera su solución. El código fuente incluye providers para obtener autorizaciones basadas en Active Directory y perfiles almacenados en SQL Server, ¿qué tal si usamos bases de datos Jet como almacenes (stores) de perfiles? Para usuarios de algunos servicios gratuitos de hosting no existe más base de datos que Jet (léase Access), así que sería una extensión más que bienvenida.
Para concluir, Microsoft ha sabido mantener una congruencia en sus dichos y haceres. Antes de publicar cualquier Application Block, genera un documento de Practices que crea los cimientos de lo que será la realización de un Application Block. Ejemplos añejos y sonados, son el Exception Management Application Block cuyo documento seminal fue Exception Management Architecture Guide y el mayormente usado y incluso con una actualización mayor de versión, el Data Access Application Block que se definió en el documento original Best Practices for Using ADO.NET.
No hay comentarios.:
Publicar un comentario