Permisos por rol de usuario
La funcionalidad de Permisos por Rol de Usuario en Pragmatic permite definir los roles los cuales los usuarios deben tener para acceder a las instancias de un formulario, esto es útil si se desea que ciertos usuarios que contienen roles específicos necesitan acceder a su contenido, registrar datos u obtener un listado de ellas.
Cada formulario en Pragmatic debe estar asociado a un workflow (flujo de trabajo), el cual define los estados y las transiciones de las instancias de un formulario. Para cada estado y modo dentro del workflow, es posible especificar qué roles de usuario tienen acceso.
Esta configuración se puede realizar de dos maneras:
Opción 1: A nivel de cada formulario individual desde Pragmatic Studio, esto en la sección General de un formulario.
Opción 2: A nivel del workflow, desde el archivo de configuración
config.json
en Pragmatic Server.
Nota importante
Los permisos al nivel de la configuración de Pragmatic Server (Opción 2) se toman sobre un formulario si éste no tiene ningún permiso definido a nivel de Pragmatic Studio (Opción 1).
Opción 1: A nivel de cada formulario individual
Paso 1
Para definir permisos por rol en un formulario, primero es necesario asociar este a un workflow. Un workflow representa el flujo de trabajo de las instancias de dicho formulario y está compuesto por un conjunto de estados con acciones específicas.
Crea un nuevo formulario o selecciona uno de la lista en Pragmatic Studio y accede a la sección General.
Paso 2
Selecciona un workflow de la lista.
Una vez seleccionado, en la parte inferior se mostrará una tabla con los diferentes estados del workflow y los modos disponibles para cada uno.

Paso 3
Para cada estado del workflow se muestran los modos disponibles para definir los roles de usuario con acceso. Los modos determinan lo que el usuario puede hacer bajo la instancia en ese estado según los permisos asignados.
- Modo solo lectura: El usuario podrá visualizar la información, sin ingresar ni modificar datos.
- Modo de ingreso: El usuario podrá registrar y editar datos.
Para configurarlo ubica el estado en la tabla tras seleccionar un workflow e ingresa los roles que tendrán acceso a las instancias en cada estado y modo.

En este ejemplo, bajo el estado “Inicial” de las instancias de este formulario se tiene que los usuarios que tengan el rol de cliente pueden acceder tanto al modo de lectura de la instancia como al modo de ingreso para agregar y editar datos. Otro caso es el del estado “Finalizado”, el cual representa el estado final de la instancia por lo que solo tiene permitido el modo solo lectura, y en el ejemplo se le asignó el permiso de visualizar datos a los mismos usuarios con rol cliente.
Finaliza guardando los cambios presionando sobre el botón “Guardar”.
Opción 2: A nivel del workflow
También es posible definir los permisos por rol de usuario a través del archivo de configuración config.json
en Pragmatic Server.
Paso 1
Accede al archivo config.json
ubicado en Pragmatic Server.
Paso 2
Localiza la propiedad de definición del workflow utilizada en los formularios.
{
"STATE_MACHINE_CONFIG_ALTA_USUARIO": {
//...
"states": {
"__ini__": {
"entry": {
//...
"assignment": {
//...
"name": "Inicial",
"security": [
{ "modo": "solo_lectura", "roles": [] },
{ "modo": "ingreso", "roles": [] }
]
}
}
//...
},
"PEN": {
"entry": {
//...
"assignment": {
//...
"name": "Pendiente",
"security": [
{ "modo": "solo_lectura", "roles": [] },
{ "modo": "ingreso", "roles": [] }
]
}
}
//...
}
//...
}
}
}
Paso 3
Para definir los permisos por rol de usuario en cada estado del workflow, edita la propiedad roles
de la propiedad security
dentro del archivo config.json
. Agrega los roles de usuario que tendrán acceso a las instancias del formulario en ese estado.
Ejemplo de configuración:
{
"STATE_MACHINE_CONFIG_ALTA_USUARIO": {
//...
"states": {
"__ini__": {
"entry": {
//...
"assignment": {
//...
"name": "Inicial",
"security": [
{ "modo": "solo_lectura", "roles": ["rol-cliente-usuario"] },
{ "modo": "ingreso", "roles": ["rol-rrhh-usuario"] }
]
}
}
//...
}
//...
}
}
}
Esto significa que, a menos que el formulario tenga una configuración de roles permitidos en Pragmatic Studio (Opción 1), el acceso a las instancias del formulario se tomará de este archivo de configuración.
Bajo el ejemplo de la opción 2, los usuarios con rol rol-cliente-usuario
tendrían permisos solo para acceder al modo lectura de las instancias que tienen el estado “Inicial”, mientras que los usuarios con rol rol-rrhh-usuario
podrían visualizar y agregar datos.
Finaliza guardando los cambios en el archivo config.json
y recargando el servidor.