import org.argeo.cms.CmsException;
import org.argeo.jcr.ArgeoJcrException;
import org.argeo.jcr.JcrUtils;
+import org.argeo.node.NodeConstants;
import org.argeo.node.NodeUtils;
import org.argeo.node.security.PBEKeySpecCallback;
private Session login() {
try {
- return repository.login();
+ return repository.login(NodeConstants.HOME);
} catch (RepositoryException e) {
throw new CmsException("Cannot login key ring session", e);
}
@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);
// notYetSavedKeyring.remove();
} catch (RepositoryException e) {
throw new ArgeoJcrException("Cannot handle key spec callback", e);
+ } finally {
+ JcrUtils.logoutQuietly(session);
}
}