From: Mathieu Baudier Date: Mon, 14 May 2018 07:31:00 +0000 (+0200) Subject: Fix E4 log out and browser refresh X-Git-Tag: argeo-commons-2.1.74~39 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=8267fad4498b78552b784dcbcb7f9e03a53ee4ba Fix E4 log out and browser refresh --- diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java index 040dd5086..615a98117 100644 --- a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java +++ b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java @@ -55,7 +55,7 @@ public class CmsLoginLifecycle implements CmsView { @PreSave void destroy() { - logout(); + //logout(); } @Override diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/CloseWorkbench.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/CloseWorkbench.java index 1444ec365..a365f3d7d 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/CloseWorkbench.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/CloseWorkbench.java @@ -1,11 +1,28 @@ package org.argeo.cms.e4.handlers; +import java.security.AccessController; + +import javax.security.auth.Subject; + +import org.argeo.cms.CmsException; +import org.argeo.cms.auth.CurrentUser; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.ui.workbench.IWorkbench; public class CloseWorkbench { @Execute public void execute(IWorkbench workbench) { + logout(); workbench.close(); } + + protected void logout() { + Subject subject = Subject.getSubject(AccessController.getContext()); + try { + CurrentUser.logoutCmsSession(subject); + } catch (Exception e) { + throw new CmsException("Cannot log out", e); + } + } + }