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);
}
}
}