You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/01/29 12:05:48 UTC

svn commit: r1562400 - /sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java

Author: cziegeler
Date: Wed Jan 29 11:05:47 2014
New Revision: 1562400

URL: http://svn.apache.org/r1562400
Log:
Don't apply gate if the resource is a jcr resource

Modified:
    sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java

Modified: sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java?rev=1562400&r1=1562399&r2=1562400&view=diff
==============================================================================
--- sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java (original)
+++ sling/trunk/contrib/jcr/resourcesecurity/src/main/java/org/apache/sling/jcr/resourcesecurity/impl/ResourceAccessGateFactory.java Wed Jan 29 11:05:47 2014
@@ -20,6 +20,7 @@ package org.apache.sling.jcr.resourcesec
 
 import java.util.Map;
 
+import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
@@ -69,8 +70,16 @@ public class ResourceAccessGateFactory
         return true;
     }
 
+    private boolean skipCheck(final Resource resource) {
+        // if resource is backed by a jcr node, skip check
+        return resource.adaptTo(Node.class) != null;
+    }
+
     @Override
     public GateResult canRead(final Resource resource) {
+        if ( this.skipCheck(resource) ) {
+            return GateResult.GRANTED;
+        }
         final Session session = resource.getResourceResolver().adaptTo(Session.class);
         boolean canRead = false;
         if ( session != null ) {