From 8267fad4498b78552b784dcbcb7f9e03a53ee4ba Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 14 May 2018 09:31:00 +0200 Subject: [PATCH] Fix E4 log out and browser refresh --- .../org/argeo/cms/e4/rap/CmsLoginLifecycle.java | 2 +- .../argeo/cms/e4/handlers/CloseWorkbench.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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); + } + } + } -- 2.30.2