Improve Jackrabbit security
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 21 Mar 2011 13:59:29 +0000 (13:59 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 21 Mar 2011 13:59:29 +0000 (13:59 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@4330 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

security/runtime/org.argeo.security.jackrabbit/src/main/java/org/argeo/security/jackrabbit/ArgeoSecurityManager.java
server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java

index e5b83e3169d2afa3df0f675190d16fe69123d345..5612b638868cd462cc310f8b25dd7812ea196427 100644 (file)
@@ -112,18 +112,22 @@ public class ArgeoSecurityManager extends DefaultSecurityManager {
 
                public boolean grants(Set<Principal> principals, String workspaceName)
                                throws RepositoryException {
+                       // everybody has access to all workspaces
+                       // TODO: implements finer access to workspaces
+                       return true;
+
                        // anonymous has access to the default workspace (required for
                        // remoting which does a default login when initializing the
                        // repository)
-                       Boolean anonymous = false;
-                       for (Principal principal : principals)
-                               if (principal instanceof AnonymousPrincipal)
-                                       anonymous = true;
-
-                       if (anonymous && workspaceName.equals(defaultWorkspace))
-                               return true;
-                       else
-                               return wam.grants(principals, workspaceName);
+                       // Boolean anonymous = false;
+                       // for (Principal principal : principals)
+                       // if (principal instanceof AnonymousPrincipal)
+                       // anonymous = true;
+                       //
+                       // if (anonymous && workspaceName.equals(defaultWorkspace))
+                       // return true;
+                       // else
+                       // return wam.grants(principals, workspaceName);
                }
        }
 
index 51063ace7640b2323e3cf23e1cf676de2a01ae20..895c31c591ecf19fa45f7b39a633e81868123ce8 100644 (file)
@@ -165,6 +165,7 @@ public class JackrabbitContainer implements InitializingBean, DisposableBean,
                                Session session = null;
                                try {
                                        session = repository.login(credentialsToUse);
+                                       processNewSession(session);
                                        // Load cnds as resources
                                        for (String resUrl : cndFiles) {
                                                Resource res = resourceLoader.getResource(resUrl);