PERMISOS
Descripción
Los usuarios del sistema solo pueden acceder a aquellos objetos de la base de datos sobre los que tienen permisos de acceso. Esos permisos se definen en el sistema, pero la administración de la seguridad la hace directamente la base de datos. Es decir, los permisos se definen en el sistema para simplificar la definición, pero usan exclusivamente las opciones de seguridad de la BD.

Para simplificar, los permisos sobre los objetos se asignan a roles (representados por la tabla descripta en este artículo), y los roles se asignan a los usuarios adquiriendo éstos los permisos asignados al rol. Usando el esquema de la base de datos no importa desde que aplicación se acceda a la base de datos, siempre se van a aplicar los permisos que el usuario tenga.
El esquema documentado reemplaza a prxrol, prxrol_permisos y prxrol_permisosdetalle que al 07/12/2024 están en uso pero pronto dejarán de estarlo siendo reemplazadas por los permisos descriptos en esta documentación.
La tabla USUARIOPERFIL (Usuarios, perfiles) permite definir los perfiles de acceso.
Estructura
Para aplicar este esquema de seguridad deben seguirse los siguientes pasos:
- Definir por lo menos un perfil usando PERMISOS.
- Al perfil deben asociarse los permisos a los objetos de la base de datos en PERMISOS/OBJETOS, que es detalle de la anterior.
- Cada perfil debe ser asociado a los usuarios en USUARIOS/PERMISOS.
La base de datos mantendrá los permisos actualizados con cada cambio que se realice en cualquier de estas tablas.
Identidad
- Tabla: USUARIOPERFIL
- Tipo: CLASE
- Define atributo FCODIGO
- Catálogo: SYS OBJETOS
- Etiqueta: USUARIO/PERMISOS
- La categoría es PERMISOS
Lista de campos
Columna | Campo físico | Campo lógico | Atributo | Descripción | Etiquetas | Definición | Observaciones |
---|---|---|---|---|---|---|---|
1 | FCODIGO | Codigo | VARCHAR(64) | Caracteres de longitud variable hasta 64 caracter/es | KEY,REQ,VIS,INS | USUARIOPERFIL | Campo clave. |
2 | FDESCRIPCION | Descripcion | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | REQ,VIS,INS,UPD | USUARIOPERFIL | Descripción del perfil. |
3 | FPUBLICO | Público | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | USUARIOPERFIL | Marcar para indicar que el perfil es público y automáticamente se asigna a todos los usuarios. |
4 | FACTIVO | Activo | BIT | Campo lógico, admite 1, 0 y NULL | VIS,INS,UPD | USUARIOPERFIL | Marcar únicamente cuando el rol se encuentre activo. Este campo no tiene efecto sobre los triggers mencionados más abajo, su efecto es interno. Si el registro existe entonces existe el permiso en la BD. Si el registro se elimina entonces el permiso se eliminará de la BD. |
5 | FIDNUM | FIDNUM | VARCHAR(16) | Caracteres de longitud variable hasta 16 caracter/es | INS | USUARIOPERFIL | OBSOLETO. |
6 | FORDEN | Orden | INT | Entero. | VIS,INS,UPD | USUARIOPERFIL | OBSOLETO. |
Observaciones adicionales sobre estos campos
Relaciones
Triggers
Esta tabla usa dos triggers:
- USUARIOPERFIL_TR_UPDATE se ejecuta cuando insertamos o actualizamos los datos de esta tabla creando el rol de la base de datos si es que aún no ha sido creado.
- USUARIOPERFIL_TR_DELETE se ejecuta cuando eliminamos un registro de esta tabla eliminando el rol de la base de datos.