| |
Laboratorio.net
- Visual Guard .NET El reciente caso aparecido en la
televisión nacional, donde una factura recibida por un usuario
mostraba los apellidos de éste cambiados por palabras ofensivas,
ha puesto en evidencia una vez más la importancia de que
las aplicaciones a través de las cuales los empleados manipulan
los datos con que las empresas operan realicen una correcta autenticación
y registro de actividad de sus usuarios. Este mes presentamos Visual
Guard .NET, un cómodo y útil marco de trabajo que
permite gestionar de una manera eficiente y centralizada los usuarios,
roles y permisos de una aplicación y asegurar el acceso de
los usuarios a cada uno de los elementos de la misma.
| ¿Qué
nos ofrece Visual Guard?
Visual Guard simplifica enormemente tareas
como las siguientes:
Gestionar los usuarios y roles de una aplicación
y sus posibilidades de acceso
El producto permite realizar la autenticación de
usuarios (creados especialmente o provenientes de un Directorio
Activo o una base de datos de SQL Server u Oracle) y su
autorización para el acceso a una aplicación
o partes de ella en base a un conjunto de roles y permisos
creados por nosotros y almacenados en una base de datos
de cualquiera de los tipos anteriores o en un fichero encriptado.
Toda esa información de seguridad se almacenará
en un repositorio que podrá o no compartirse entre
diferentes aplicaciones. El formulario de autenticación
puede ser personalizado según nuestros deseos.
|
 |
Permitir
o impedir el acceso a aplicaciones o partes de ellas.
En base a los datos suministrados durante la fase de autenticación,
el motor de Visual Guard autorizará o no el acceso
del usuario a una aplicación o a partes específicas
de ella, como menús o formularios.
Filtrar y proteger los datos confidenciales
En dependencia de la identidad del usuario, ciertos elementos
de la aplicación que muestren datos confidenciales
podrán ser ocultados o hechos de solo lectura para
impedir su visualización y/o modificación.
Personalizar la interfaz de usuario
También en función de la identidad del usuario,
será posible (y muy fácil) modificar la interfaz
de usuario de los formularios que componen la aplicación,
por ejemplo mostrando u ocultando botones, campos, pestañas
de un cuaderno, etc.
|

 |
 |

 |
| Figura 1. Consola de administración |
Figura 2. Diálogo
de autenticación estándar |
Parametrizar
la lógica de negocio de la aplicación
Otra cosa que puede ser necesaria y que Visual Guard hace
muy sencilla es la parametrización de la lógica
de negocio en función de los usuarios y roles. Por
ejemplo, es común que un vendedor “corriente”
tenga fijado un importe máximo de pedido inferior al
de sus jefes. Visual Guard ajustará la regla de validación
correspondiente en función del usuario actual.
¿Cómo funciona
Visual Guard?
Visual Guard consta de dos componentes fundamentales:
• La Consola de administración de Visual Guard
(figura1), una herramienta para la edición visual
de los usuarios, mecanismos de autenticación a utilizar,
roles, permisos, acciones a llevar a cabo en casos de que
un usuario no tenga ciertos permisos, etc. La Consola de
administración permite actuar sobre un repositorio
de seguridad, en el que se almacena toda esa información
para una aplicación o grupo de aplicaciones específico.
Este repositorio podrá almacenarse en una base de
datos SQL Server u Oracle o en un fichero encriptado.
|
 |
• El motor de ejecución de Visual Guard, un conjunto
de ensamblados a los que harán referencia las aplicaciones
y que modificará el comportamiento de éstas
en función de la identidad del usuario actual y de
los permisos que tenga asignados en el repositorio de seguridad
de la aplicación. Como parte del motor se incluye un
proveedor de membresía (membership), mediante el cual
los desarrolladores podrán gestionar programáticamente
los usuarios y roles. La tabla 1 muestra los ensamblados que
componen
el motor.
|
| Ensamblado |
Contenido |
| Novalys.VisualGuard.Security |
Las clases principales de Visual Guard. La referencia a esteensamblado
es obligatoria. |
| Novalys.VisualGuard.Security.File |
Clases necesarias para acceder a un repositorio almacenado
en un fichero. |
| Novalys.VisualGuard.Security.Oracle |
Clases necesarias para acceder a un repositorio almacenado
en una base de datos de Oracle (8i o superior). |
| Novalys.VisualGuard.Security.SQLServer |
Clases necesarias para acceder a un repositorio almacenado
en una base de datos de SQL Server (2000 o superior) |
| Novalys.VisualGuard.Security.WebForm |
Clases necesarias para integrar Visual Guard en una aplicación
o servicio ASP.NET. |
| Novalys.VisualGuard.Security.WinForm |
Clases necesarias para integrar Visual Guard en una aplicación
Windows Forms. |
|
 |
|
|
| El motor de ejecución
de Visual Guard modificará el comportamiento de las aplicaciones
en función de la identidad del usuario |
|
 |
El
proceso de integración
El proceso de integración del motor de Visual Guard
dentro de cualquier proyecto que estemos desarrollando constará
típicamente de los siguientes pasos:
1. Agregar los ensamblados de Visual Guard al proyecto y activar
la seguridad.
2. Implementar el formulario de autenticación de Visual
Guard (o definir uno propio).
3. Crear un repositorio de seguridad y registrar el proyecto
dentro de ese repositorio.
4. Los desarrolladores, utilizando la Consola, añaden
al repositorio los permisos asociados al proyecto.
5. El proyecto es compilado y desplegado.
6. Una vez desplegado el proyecto, el administrador:
a) Define roles y les asocia permisos de entre los existentes
en el repositorio.
b) Crea usuarios y los asocia a roles específicos.
Observe que no se requieren conocimientos o habilidades técnicas
especiales para administrar la seguridad.
Conclusiones
A lo largo de este artículo hemos intentado mostrar
las principales posibilidades que nos ofrece Visual Guard
para ayudarnos a crear aplicaciones seguras y personalizables
en función de la identidad del usuario que las utiliza
en cada momento. Se invita al usuario a descargar la versión
de evaluación
y probar las aplicaciones de ejemplo que se incluyen con el
producto.
Octavio Hernández es Mentoring Team
Leader de Plain Concepts, editor técnico de dotNetManía
y tutor de campusMVP. Es MVP de C# desde 2004, MCSD y MCT
|
| Figura 3. La aplicación de
ejemplo, utilizada por un administrador |
 |
 |
Figura 4. La aplicación de ejemplo,
utilizada por un
empleado de recursos humanos británico |
|
En tiempo de ejecución,
el motor de Visual Guard:
1. Gestiona la autenticación del usuario. La figura 2
muestra el diálogo de autenticación estándar,utilizado
en la aplicación de ejemplo que acompaña al producto.
Como hemos comentado anteriormente, usted puede suministrar
su propio diálogo, si lo prefiere.
2. Se conecta al repositorio y recupera los permisos del usuario.
3. Ajusta dinámicamente la aplicación en función
de esos permisos. Por ejemplo, cuando se abre un formulario,
el motor de Visual Guard oculta controles y filtra datos según
sea necesario. Las figuras 3 y 4 muestran la aplicación
de ejemplo mientras está siendo utilizada por un administrador
y un empleado del departamento de Recursos humanos de la oficina
del Reino Unido, respectivamente. En el segundo caso, solo están
visibles los clientes británicos, y no se permite al
usuario la inserción o borrado de clientes. |
|
FEBRERO 2008 - DotNetManía - www.dotnetmania.com
|
|