You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by tm...@apache.org on 2017/06/07 18:12:34 UTC

svn commit: r1797982 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java

Author: tmaret
Date: Wed Jun  7 18:12:34 2017
New Revision: 1797982

URL: http://svn.apache.org/viewvc?rev=1797982&view=rev
Log:
SLING-6939 - sling distribution leaks jcr sessions

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java?rev=1797982&r1=1797981&r2=1797982&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java Wed Jun  7 18:12:34 2017
@@ -28,16 +28,13 @@ import org.apache.sling.jcr.api.SlingRep
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.jcr.RepositoryException;
 import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
 import java.util.HashMap;
 import java.util.Map;
 
 
 public class DistributionUtils {
     private static final Logger log = LoggerFactory.getLogger(DistributionUtils.class);
-    private static final String AUTHENTICATION_INFO_SESSION = "user.jcr.credentials";
 
     public static ResourceResolver loginService(ResourceResolverFactory resolverFactory, String serviceName) throws LoginException {
         Map<String, Object> authInfo = new HashMap<String, Object>();
@@ -84,16 +81,7 @@ public class DistributionUtils {
         try {
             Map<String, Object> authenticationInfo = new HashMap<String, Object>();
 
-            if (subServiceName == null && user != null) {
-                try {
-                    Session session = slingRepository.impersonateFromService(service, new SimpleCredentials(user, new char[0]), null);
-                    authenticationInfo.put(AUTHENTICATION_INFO_SESSION, session);
-                } catch (NoSuchMethodError nsme) {
-                    log.warn("without sling.jcr.api 2.3.0 content will be aggregated using service {}", service);
-                    Session session = slingRepository.loginService(service, null);
-                    authenticationInfo.put(AUTHENTICATION_INFO_SESSION, session);
-                }
-            } else {
+            if (subServiceName != null) {
                 authenticationInfo.put(ResourceResolverFactory.SUBSERVICE, subServiceName);
             }
             resourceResolver = resourceResolverFactory.getServiceResourceResolver(authenticationInfo);
@@ -101,8 +89,6 @@ public class DistributionUtils {
             return resourceResolver;
         } catch (LoginException le) {
             throw new DistributionException(le);
-        } catch (RepositoryException re) {
-            throw new DistributionException(re);
         }
     }
 }