From: Mathieu Baudier Date: Sat, 10 Mar 2018 11:15:46 +0000 (+0100) Subject: Logout keyring unlock session X-Git-Tag: argeo-commons-2.1.73~46 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=7247dd170e85ec1fcc80f207d0bef173af393443;p=lgpl%2Fargeo-commons.git Logout keyring unlock session --- diff --git a/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java b/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java index bc233d07d..9aeb7602d 100644 --- a/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java +++ b/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java @@ -193,9 +193,11 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { @Override protected synchronized void handleKeySpecCallback(PBEKeySpecCallback pbeCallback) { + Session session = null; try { - session().refresh(true); - Node userHome = NodeUtils.getUserHome(session()); + session = session(); + session.refresh(true); + Node userHome = NodeUtils.getUserHome(session); Node keyring; if (userHome.hasNode(ARGEO_KEYRING)) keyring = userHome.getNode(ARGEO_KEYRING); @@ -214,6 +216,8 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { // notYetSavedKeyring.remove(); } catch (RepositoryException e) { throw new ArgeoJcrException("Cannot handle key spec callback", e); + } finally { + JcrUtils.logoutQuietly(session); } }