Author: olli
Date: Tue Oct 11 14:50:07 2016
New Revision: 1764259

URL: http://svn.apache.org/viewvc?rev=1764259&view=rev
Log:
SLING-6130 Restrict access for principal everyone and move configuration to 
repoinit

* change path from / to /content in OakSlingRepositoryManager
* adjust test

Modified:
    
sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepositoryManager.java
    
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerIT.java
    
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerTestSupport.java

Modified: 
sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepositoryManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepositoryManager.java?rev=1764259&r1=1764258&r2=1764259&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepositoryManager.java
 (original)
+++ 
sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepositoryManager.java
 Tue Oct 11 14:50:07 2016
@@ -30,6 +30,7 @@ import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.JackrabbitRepository;
+import org.apache.jackrabbit.commons.JcrUtils;
 import 
org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.jcr.Jcr;
@@ -194,10 +195,11 @@ public class OakSlingRepositoryManager e
             try {
                 // TODO do we need to go via PrivilegeManager for the names? 
See OAK-1016 example.
                 session = 
repository.loginAdministrative(getDefaultWorkspace());
+                JcrUtils.getOrAddNode(session.getRootNode(), "content", 
"sling:Folder");
                 final String[] privileges = new String[]{Privilege.JCR_READ};
                 AccessControlUtils.addAccessControlEntry(
                     session,
-                    "/",
+                    "/content",
                     EveryonePrincipal.getInstance(),
                     privileges,
                     true);

Modified: 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerIT.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerIT.java?rev=1764259&r1=1764258&r2=1764259&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerIT.java
 (original)
+++ 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerIT.java
 Tue Oct 11 14:50:07 2016
@@ -35,6 +35,7 @@ import javax.jcr.query.Query;
 
 import org.apache.jackrabbit.commons.cnd.CndImporter;
 import org.apache.sling.api.SlingConstants;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.PaxExam;
@@ -105,7 +106,7 @@ public class OakServerIT extends OakServ
 
     @Test
     public void testAnonymousHasReadAccess() throws RepositoryException {
-        final String path = assertCreateRetrieveNode(null);
+        final String path = assertCreateRetrieveNode(null, "content/foo");
         final Session s = repository.login();
         try {
             assertTrue("Expecting anonymous to see " + path, 
s.itemExists(path));
@@ -117,6 +118,12 @@ public class OakServerIT extends OakServ
     }
 
     @Test
+    @Ignore
+    public void testAnonymousHasNoReadAccess() throws RepositoryException {
+        // TODO
+    }
+
+    @Test
     public void testSqlQuery() throws RepositoryException {
         final Session s = repository.loginAdministrative(null);
         final String id = "ID_" + System.currentTimeMillis();

Modified: 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerTestSupport.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerTestSupport.java?rev=1764259&r1=1764258&r2=1764259&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerTestSupport.java
 (original)
+++ 
sling/trunk/bundles/jcr/oak-server/src/test/java/org/apache/sling/jcr/oak/server/it/OakServerTestSupport.java
 Tue Oct 11 14:50:07 2016
@@ -31,6 +31,7 @@ import javax.jcr.observation.EventIterat
 import javax.jcr.observation.EventListener;
 import javax.jcr.observation.ObservationManager;
 
+import org.apache.jackrabbit.commons.JcrUtils;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.testing.paxexam.SlingOptions;
@@ -115,24 +116,30 @@ public abstract class OakServerTestSuppo
      * @return the path of the test node that was created.
      */
     protected String assertCreateRetrieveNode(String nodeType) throws 
RepositoryException {
-        Session s = repository.loginAdministrative(null);
+        return assertCreateRetrieveNode(nodeType, null);
+    }
+
+    protected String assertCreateRetrieveNode(String nodeType, String 
relParentPath) throws RepositoryException {
+        Session session = repository.loginAdministrative(null);
         try {
-            final Node root = s.getRootNode();
+            final Node root = session.getRootNode();
             final String name = uniqueName("assertCreateRetrieveNode");
             final String propName = "PN_" + name;
             final String propValue = "PV_" + name;
-            final Node child = nodeType == null ? root.addNode(name) : 
root.addNode(name, nodeType);
+            final Node parent = relParentPath == null ? root : 
JcrUtils.getOrAddNode(root, relParentPath);
+            final Node child = nodeType == null ? parent.addNode(name) : 
parent.addNode(name, nodeType);
             child.setProperty(propName, propValue);
             child.setProperty("foo", child.getPath());
-            s.save();
-            s.logout();
-            s = repository.loginAdministrative(null);
-            final Node n = s.getNode("/" + name);
+            session.save();
+            session.logout();
+            session = repository.loginAdministrative(null);
+            final String path = relParentPath == null ? "/" + name : "/" + 
relParentPath + "/" + name;
+            final Node n = session.getNode(path);
             assertNotNull(n);
             assertEquals(propValue, n.getProperty(propName).getString());
             return n.getPath();
         } finally {
-            s.logout();
+            session.logout();
         }
     }
 


Reply via email to