|
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
|