|
|
SecurityAddin es un complemento para Visual Basic 6 que
permite agregarle a un proyecto seguridad basada en roles sin
escribir código.
En sólo 3 pasos, SecurityAddin le agregará
seguridad a su proyecto:
1. Abra el proyecto.
2. Presione el botón
sobre los procedimientos a los que desea agregarle seguridad.
SecurityAddin le solicitará que establezca la conexión
a la base de datos del proyecto y agregará el código
necesario. Modificará el comienzo del programa para que
se inicie con un formulario de inicio de sesión.
3. Presione el botón
para crear usuarios, roles y asignar permisos. Su proyecto ya
tiene incorporado seguridad, "sin escribir código"
y ahorrándole horas de trabajo.
Esquema de seguridad propuesto
El esquema de seguridad con el que trabaja SecurityAddin
es el clásico basado en roles. Consta de una tabla de usuarios,
una de roles y otra de usuarios por rol. De esta manera, se asignan
permisos a los roles (tabla de Permisos por Rol). Además,
para poder llamar a un procedimiento al que se le ha agregado seguridad,
el usuario tiene primero que iniciar una sesión con el método
Login de la clase cSecuritySessions. El método Login controla
usuario/password y si es correcto, genera un Id de sesión
e inserta un registro en la tabla de sesiones. El Id de sesión,
es generado aleatoriamente y es válido durante el día
en que se generó. Si usted desea usar un algoritmo de generación
de los Id de sesión, más complejo, puede modificar
las funciones "GetNewSessionId" y "ValidateSessionId".
Al Id de sesion devuelto por el método Login hay que pasarlo
como parámetro a los procedimentos con seguridad para que
se autentifique la sesión y el usuario (SecurityAddin
agrega automáticamente este parámetro a los procedimientos
que se marquen como seguros y los quita cuando se designa al procedimiento
no seguro). Así, en cada procedimiento seguro, se recibe
el parámetro SessionId con el que se valida la sesión
y se verifica si el usuario puede ejecutar el procedimiento. Además,
se obtiene en la variable lUserId el Id del usuario, que inició
la sesión para poder incorporarlo en la lógica del
sistema, por ejemplo para registrar en la base de datos qué
usuario hizo cierto proceso o cuando diferentes usuarios aplican
distintos porcentajes de descuento. Cabe aclarar, que si el procedimiento
comienza con una sentencia de control de errores (On Error Goto
), el código que agrega SecurityAddin se ubica debajo
de esta sentencia. En el caso que se quieran hacerse seguros, procedimientos
de eventos (como el evento Click de un botón o un Menú),
no se puede agregar el parámetro SessionId al procedimiento,
por lo que en este caso SecurityAddin hace el checkeo de seguridad
contra una variable global gSessionId que deberá definirse.
SecurityAddin permite registrar además de la fecha/hora de
inicio y cierre de cada sesión, la cantidad de transacciones
(o mejor dicho la cantidad de llamadas a métodos seguros)
realizadas en cada sesión.
Instrucciones:
Cada vez que presione el botón
SecurityAddin insertará en el procedimiento actual
el código necesario para hacer la verificación de
seguridad. Si el procedimiento es un controlador de evento como
cmdGrabar_Click, el código insertado hará la verificación
de seguridad a través de una variable Global gSessionId,
en cambio si es un procedimiento normal, le agregará como
parámetro un Id de sesión.
La primera vez que presione el botón para agregarle seguridad
a un método, SecurityAddin le solicitará, que
establezca una conexión con la base de datos proyecto. Si
es preciso agregará a la base de datos las tablas necesarias
para la administración de seguridad (usuarios, roles, usuariosRol,
Permisos, Sesiones, etc.). Luego, le solicitará que agregue
la clase cSecuritySessions al proyecto. Esta Clase tiene los métodos
requeridos para hacer la verificación de seguridad. Igualmente,
le permitirá que actualice la cadena de conexión de
la clase cSecuritySessions. Además, si el proyecto es un
Exe Standard le permitirá modificar el comienzo del mismo,
para que muestre un formulario inicial de Inicio se sesión.
Todo esto, sin necesidad de que usted escriba una sóla línea
de código.
Cada vez que presione el botón
SecurityAddin quitará en el procedimiento actual el código
insertado para hacer la verificación de seguridad de manera
que el procedimiento quede restaurado.
El botón
le permitirá crear usuarios, roles, asignar permisos e indicar
por módulo, qué procedimientos verificarán
seguridad.
Asimismo, se incluye el código fuente de un proyecto para
administrar seguridad. Crear usuarios y roles, asignar y quitar
permisos, etc,.
|