30 de diciembre de 2008

Abanq: Control de acceso


Mediante el módulo "Control de acceso" se puede restringir el acceso a la información deseada del sistema. Para ello hay que crear listas de control de acceso (ACL).

Para la creación de las listas de control de acceso hay que tener el cuenta lo siguiente:
- El tipo de control de acceso "mainwindows" restringe el acceso ocultando las opciones del menú. Pero no restringe el acceso a los datos si se utiliza otro camino para llegar a ellos. Es decir, en el modulo "principal" del "Area de facturación" si se bloquean todos los menús excepto el de clientes, solo mostrará el menú "clientes" pero utilizando el formulario para la creación/edición de clientes pueden crearse/modificarse "Formas de pago", "Divisas", "Agentes comerciales", "Series de factura", "Cuentas bancarias", "Descuentos", etc.
- El tipo de control de acceso "form" restringe el acceso a los formularios de creación, edición y buscar registros.
- El tipo de control de acceso "table" restringe el acceso a las tablas de la base de datos.


Procedimiento
Desde "Sistema >> Control de acceso", se crean primeramente los grupos, luego los usuarios y finalmente las listas de control de acceso.

En este caso, se crea el grupo "Ventas" y el usuario "ventas" perteneciente a este grupo. Los usuarios pertenecientes a este grupo tendrán restricciones de acceso a ciertos datos.

Se crea la lista de control de acceso "General" a la cual se le restringe el acceso al grupo "Ventas" a lo siguiente:

- Al "Area Financiera" en todos sus módulos (flcontinfo, flcontppal) con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows".

- Al Area "Sistema" en todos sus módulos con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows".

- Al "Area de Facturación" modulo "Informes" (flfactinfo) con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows".

- Al "Area de Facturación" modulo "Tesorería" (flfactteso) con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows".

- Al "Area de Facturación" modulo "Facturación" (flfacturac) con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows" y con permisos específicos "rw" para:
agruparalbaranescli
agruparpedidoscli
albaranescli
busfactcli
facturascli
lineasalbaranescli
lineasfacturascli
lineaspedidoscli
lineaspresupuestoscli
pedidoscli
presupuestoscli

- Al "Area de Facturación" modulo "Almacén" (flfactalma) con permiso global "--" (No se permite ver los menús) de Tipo "mainwindows".

- A todos los formularios (Tipo Form "Maestro" y "Edición") del "Area de Facturación" del módulo "Almacén" (flfactalma) en todas las tablas con permiso global "--".

- Al "Area de Facturación" modulo "Principal" (flfactppal) con permiso global "--" (No se permite ver los menus) y con permisos especificos "rw" (lectura y escritura) en los Objetos de control de acceso "clientes", "contactosclientes", "descuentosclientes" y "dirclientes". Es decir, en el "Area de Facturación" modulo "Principal" solo se puede ver del menu la opción Clientes, el resto están bloqueadas.

- A las siguientes tablas del "Area de Facturación" modulo "Principal" (flfactppal) se le permite solamente la léctura (r-):
agentes
bancos_imp
contactosproveedores
cuentasbanco
cuentasbcopro
cuentasbco_imp
departamentos
descuentos
descuentosproveedores
descuentos_imp
dirproveedores
divisas
divisas_imp
ejercicios
ejercicios_imp
empresa
formaspago
formaspago_imp
gruposclientes
impuestos
impuestos_imp
intervalos
paises
paises_imp
plazos
proveedores
secuencias
secuenciasejercicios
series
series_imp
sucursales
tiposrappel

NOTA: Las tablas faltantes del "Area de Facturación" modulo "Principal" corresponden a los Clientes. Podría cambiarse el Tipo de control de acceso de Table por Form pero se requieren agregar dos reglas (Form Maestro y Edición) por cada tabla.

Una vez terminada la lista de control de acceso, se instala con el botón "Instalar". Podemos tener creadas varias listas de control de acceso pero solo puede estar instalada una sola lista a la vez.

Una vez creada e instalada la lista de control de acceso se deberán crear estos mismos usuarios en el servidor de base de datos (PostgreSQL o MySQL). En el caso de MySQL, los usuarios deberán tener los permisos "SELECT, INSERT, UPDATE", "CREATE". Para crear los usuarios desde la consola mysql se ejecuta la orden siguiente según lo deseado:
GRANT SELECT, INSERT, UPDATE ON base_de_datos_abanq.* TO usuario_mysql@localhost IDENTIFIED BY 'password_del_usuario';
GRANT SELECT, INSERT, UPDATE ON base_de_datos_abanq.* TO usuario_mysql@maquina1.mi-red-local.org IDENTIFIED BY 'password_del_usuario';


Mas información en:
abanq.org

4 comentarios:

javier dijo...

He probado el modulo de control de acceso sobre una version 2.3 y no me carga el ejercicio,alguien tiene el mismo problema, a ti te funciona?
Gracias y buen trabajo

S dijo...

Yo uso la versión 2.3 y no tengo problemas.

javier dijo...

Como lo instalaste?, yo tengo dos ejercicios, cuando entras en algun modulo arriba en el titulo te pone el ejercicio, el gestor,la empresa y el usuario, en el momento que instalo el modulo ya no me aparece el ejercicio solo me aparece []en el ejercicio y luego el resto de los datos. Tengo los modulos 2.3 con las modificaciones de los balances 2008 para España

S dijo...

Hola Javier. El procedimiento de instalación es tal cual lo describo en mi blog. A mi me funciona con abanq 2.3 Build 15245 y con la versión 2.1 del módulo de control de acceso. Yo también tengo dos ejercicios y no tengo problemas.