Estoy haciendo un deploy de mi proceso en un servidor que he configurado. Al ejecutar el proceso funciona perfecto en el BonitaStudio, sin embargo al hacer el deploy en el server, cuando intento acceder a una variable de proceso tipo ArrayList, desde el formulario, mediante la definición de una variable …/API/bpm/activityVariable/{{taskId}}/[mi variable], me retorna vacía la variable. De acuerdo a lo que lei, por seguridad solo el usuario admin puede acceder a las variables del proceso, sin embargo no se como quitar esta restricción.
Teniendo en cuenta que ya es un ambiente iniciado, actualizas el archivo de tenant 1
bonita_home\client\tenants\1\conf\resources-permissions-mapping.properties
debes revisar bien los permisos que se otorgan sino es abrir huecos de seguridad, pero podrias agregar la siguiente linea
GET|bpm/activityVariable=[profile|Administrator, profile|user, check|CaseVariablePermissionRule]
con ese permiso, se tiene acceso a las variables a las que tenga permiso el usuario.
Revisa la documentacion en
rest-api-authorization
PD: si soluciona el problema, por favor da como finalizada la pregunta.
He identificado que el problema efectivamente tiene que ver con los permisos, debido a que al otorgar permisos de administrador al los usuarios me permite acceder a las variables del proceso , sin embargo no se como desactivar esta política
Disculpa la molestia, he agregado la linea al archivo re inicie todo mi servidor y aun no puedo acceder las variables, cuando mencionas "con ese permiso, se tiene acceso a las variables a las que tenga permiso el usuario. " te refieres a que hay que definir a cuales variables tienen permiso cada usuario?
Que pena, si funciona esta solución, había olvidado modificar el user dado que mi profile User comienza con mayusculas. Me comentas que esta es una solución debido a que es un ambiente iniciado, cual seria la forma optima de realizarlo sin abrir huecos de seguridad.
Haber dado permiso de obtener las variables del teniendo en cuenta que solo si y solo si tiene acceso al caso esta bien, y no que cualquier que se haya logueado al sistema pueda empezar a consultar. Ese tipo de análisis es el que debes realizar, saludos!
entonces, por ejemplo seria definir un script en el CaseVariablePermissionRule el cual solo me de acceso a la variable si soy el usuario creador del task