From 06963d81f2725cac0c7b29afacbd928aa9a3c2f7 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Thu, 17 Mar 2016 08:45:23 -0400 Subject: [PATCH] HOR-433 "(WSSO Plugin) Cuando se ingresa al proceso, se..." SOLVED Issue: (WSSO Plugin) Cuando se ingresa al proceso, se puede verificar que no se puede recuperar la data del mismo Cause: Se esta usando el mismo VirtualHost para clientes WEB y REST Solution: Se realizo la implementacion de la nueva directiva "server_hostname_requests_frontend" del "env.ini"; esto para el caso en que se requiera del "feature SSO", tomar nota de lo siguiente: - Habilitar el modulo "mod_headers" de apache (httpd.conf) - Tener configurado un VirtualHost normal para ProcessMaker (pmos.conf) - Para el "feature SSO" se debera crear un 2do VirtualHost con toda la configuracion necesaria para el mismo (pmos.conf), por lo que todos los usuarios que requieran este feature, deberan usar este para acceder por browser - Crear un 3er VirtualHost para las solicitudes del front-end (DESIGNER), en donde se agregara lo siguiente (pmos.conf): Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Headers "Content-Type,Depth,User-Agent,X-File-Size,X-Requested-With,If-Modified-Since,X-File-Name,Cache-Control,Authorization" Header set Access-Control-Allow-Methods "OPTIONS,GET,POST,PUT,DELETE" De tal forma que quedara asi: Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Headers "Content-Type,Depth,User-Agent,X-File-Size,X-Requested-With,If-Modified-Since,X-File-Name,Cache-Control,Authorization" Header set Access-Control-Allow-Methods "OPTIONS,GET,POST,PUT,DELETE" RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*/(.*)$ app.php [QSA,L,NC] - Agregar lo siguiente al archivo "/path/to/processmaker/shared/sites/your-workspace/env.ini" server_hostname_requests_frontend = "{your_server_hostname_requests_frontend}" Donde: - your_server_hostname_requests_frontend, es el nombre del servidor configurado para el front-end (3er VirtualHost), ejemplo: server_hostname_requests_frontend = "192.168.40.72:3017" - Tambien se puede hacer la configuracion en el archivo "/path/to/processmaker/workflow/engine/config/env.ini", considerar que esto afectara a todos lo workspaces creados Note: Todo el desarrollo se lo hizo en un server Windows-Server-2012-R2 con Apache-2.4 --- workflow/engine/classes/class.pmDynaform.php | 18 +++++++++---- workflow/engine/classes/class.system.php | 25 ++++++++++++++++++- workflow/engine/controllers/designer.php | 1 + .../engine/controllers/strategicDashboard.php | 8 +++--- workflow/engine/js/cases/core/pmDynaform.js | 4 +-- .../cases/casesConsolidatedListExtJs.php | 4 +-- workflow/engine/methods/cases/main_init.php | 2 +- workflow/engine/templates/designer/index.html | 2 ++ 8 files changed, 49 insertions(+), 15 deletions(-) diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 201842128..88bb9f703 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -223,7 +223,7 @@ class pmDynaform $json->optionsSql[] = $option; } } catch (Exception $e) { - + } } break; @@ -602,7 +602,7 @@ class pmDynaform $data[$json->variable === "" ? $json->id : $json->variable] = $row[0]; } } catch (Exception $e) { - + } } } @@ -646,6 +646,7 @@ class pmDynaform $javascript = " "; @@ -955,6 +962,7 @@ class pmDynaform $javascrip = "" . " @@ -81,6 +82,7 @@ var SYS_SYS = "{$SYS_SYS}"; var SYS_LANG = "{$SYS_LANG}"; var SYS_SKIN = "{$SYS_SKIN}"; + var HTTP_SERVER_HOSTNAME = "{$HTTP_SERVER_HOSTNAME}";