Fix unclosed session when error
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 16 Nov 2012 12:14:19 +0000 (12:14 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 16 Nov 2012 12:14:19 +0000 (12:14 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@5851 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/ScopedSessionProvider.java

index c3bcc01a722e0f470b59523f2a729e887a6e4f12..ffe6df9b1c1dfb853dd385d30eee5b83f4571c16 100644 (file)
@@ -109,10 +109,12 @@ public class ScopedSessionProvider implements SessionProvider, Serializable {
                if (jcrSession == null)
                        try {
                                Session session = login(rep, workspace);
-                               if (!session.getUserID().equals(springUser))
+                               if (!session.getUserID().equals(springUser)) {
+                                       JcrUtils.logoutQuietly(session);
                                        throw new ArgeoException("Spring Security user '"
                                                        + springUser + "' not in line with JCR user '"
                                                        + session.getUserID() + "'");
+                               }
                                currentRepositoryName = requestJcrRepository;
                                // do not use workspace variable which may be null
                                currentWorkspaceName = session.getWorkspace().getName();