diff --git a/workflow/engine/methods/services/webentry/anonymousLogin.php b/workflow/engine/methods/services/webentry/anonymousLogin.php index 0b228c7a7..16c924c46 100644 --- a/workflow/engine/methods/services/webentry/anonymousLogin.php +++ b/workflow/engine/methods/services/webentry/anonymousLogin.php @@ -24,6 +24,7 @@ try { throw new Exception('WebEntry User not found'); } + $_SESSION = []; initUserSession($userUid, $userInfo->getUsrUsername()); $result = [ diff --git a/workflow/engine/methods/webentry/access.php b/workflow/engine/methods/webentry/access.php index 62304030e..f042c3d9e 100644 --- a/workflow/engine/methods/webentry/access.php +++ b/workflow/engine/methods/webentry/access.php @@ -187,6 +187,7 @@ $webEntryModel = \WebEntryPeer::retrieveByPK($weUid); var weUid = getWeUid()); ?>; var forceLogin = getWeAuthentication()==='LOGIN_REQUIRED'); ?>; var isLogged = ; + var currentLoggedIsGuest = ; var closeSession = getWeCallback()==='CUSTOM_CLEAR'); ?>; var hideInformationBar = getWeHideInformationBar()); ?>; if (!forceLogin) { @@ -263,7 +264,7 @@ $webEntryModel = \WebEntryPeer::retrieveByPK($weUid); }; var login = function () { return new Promise(function (logged, failure) { - if (!isLogged) { + if (!isLogged || currentLoggedIsGuest) { log("login"); open('../login/login?inIFrame=1&u=' + encodeURIComponent(location.pathname + '/../../webentry/logged')) .then(function (userInformation) {