Introduce custom Jackrabbit access control provider
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 24 Feb 2015 21:45:45 +0000 (21:45 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 24 Feb 2015 21:45:45 +0000 (21:45 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@7945 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/ArgeoAccessControlProvider.java [new file with mode: 0644]

diff --git a/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/ArgeoAccessControlProvider.java b/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/ArgeoAccessControlProvider.java
new file mode 100644 (file)
index 0000000..6598809
--- /dev/null
@@ -0,0 +1,22 @@
+package org.argeo.security.jackrabbit;
+
+import java.util.Map;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.jackrabbit.core.security.authorization.acl.ACLProvider;
+
+/** Argeo specific access control provider */
+public class ArgeoAccessControlProvider extends ACLProvider {
+
+       @SuppressWarnings({ "rawtypes", "unchecked" })
+       @Override
+       public void init(Session systemSession, Map configuration)
+                       throws RepositoryException {
+               if (!configuration.containsKey(PARAM_ALLOW_UNKNOWN_PRINCIPALS))
+                       configuration.put(PARAM_ALLOW_UNKNOWN_PRINCIPALS, true);
+               super.init(systemSession, configuration);
+       }
+
+}