diff --git a/workflow/engine/js/src/Sessions.js b/workflow/engine/js/src/Sessions.js index e4ae2f89d..532b2bdd8 100644 --- a/workflow/engine/js/src/Sessions.js +++ b/workflow/engine/js/src/Sessions.js @@ -1,7 +1,12 @@ PM.Sessions = (function () { var Sessions = function () { + if (this.getCookie('singleSignOn') === '1') { + this.register(); + this.eraseCookie('singleSignOn'); + } if (window.location.pathname.indexOf("login") === -1 && window.location.pathname.indexOf("sysLogin") === -1 && + window.location.pathname.indexOf("authentication") === -1 && this.getCookie('PM-TabPrimary') !== '101010010') { this.isClose = (this.getLabel('mainWindowClose') === "true"); if (this.isClose && parent.parent.parent.window.name === "") { diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index a08c11c9a..c35cb4cb5 100755 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -34,6 +34,7 @@ try { } if (!$RBAC->singleSignOn) { + setcookie("singleSignOn", '0', time() + (24 * 60 * 60), '/'); if (!isset($_POST['form']) ) { G::SendTemporalMessage ('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error'); G::header('Location: login'); @@ -175,6 +176,7 @@ try { $_SESSION['USER_LOGGED'] = $uid; $_SESSION['USR_USERNAME'] = $usr; } else { + setcookie("singleSignOn", '1', time() + (24 * 60 * 60), '/'); $uid = $RBAC->userObj->fields['USR_UID']; $usr = $RBAC->userObj->fields['USR_USERNAME']; $_SESSION['USER_LOGGED'] = $uid;