Rename node roles
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 5 Sep 2015 10:09:43 +0000 (10:09 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 5 Sep 2015 10:09:43 +0000 (10:09 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8368 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms/src/org/argeo/cms/KernelHeader.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelConstants.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeSecurity.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/demo.ldif
org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/SystemJackrabbitLoginModule.java
org.argeo.security.ui.rap/plugin.xml
org.argeo.security.ui/plugin.xml

index 620699abfac7a944cf08ab8f81ad83974bdfd0ac..649fc9c0450607947972c821c55180b69e84bc70 100644 (file)
@@ -9,13 +9,15 @@ public interface KernelHeader {
        final static String LOGIN_CONTEXT_SINGLE_USER = "SINGLE_USER";
 
        // RESERVED ROLES
-       public final static String ROLE_ADMIN = "cn=admin,ou=system,ou=node";
-       public final static String ROLE_GROUP_ADMIN = "cn=groupAdmin,ou=system,ou=node";
-       public final static String ROLE_USER_ADMIN = "cn=userAdmin,ou=system,ou=node";
+       final static String ROLES_BASEDN = "ou=roles,ou=node";
+       public final static String ROLE_ADMIN = "cn=admin," + ROLES_BASEDN;
+       public final static String ROLE_GROUP_ADMIN = "cn=groupAdmin,"
+                       + ROLES_BASEDN;
+       public final static String ROLE_USER_ADMIN = "cn=userAdmin," + ROLES_BASEDN;
        // Special system groups that cannot be edited:
        // user U anonymous = everyone
-       public final static String ROLE_USER = "cn=user,ou=system,ou=node";
-       public final static String ROLE_ANONYMOUS = "cn=anonymous,ou=system,ou=node";
+       public final static String ROLE_USER = "cn=user," + ROLES_BASEDN;
+       public final static String ROLE_ANONYMOUS = "cn=anonymous," + ROLES_BASEDN;
 
        // RESERVED USERNAMES
        public final static String USERNAME_ADMIN = "root";
index 2663650b9187217e4f6eb9ff7aa3158e42e369b6..a9a3e7e9af80fef8411066e885d8ac7428b028ce 100644 (file)
@@ -19,8 +19,6 @@ public interface KernelConstants {
        // Node Security
        /** URI to an LDIF file used as initialization or backend */
        final static String USERADMIN_URI = "argeo.node.useradmin.uri";
-       final static String ROLES_BASEDN = "ou=system,ou=node";
-
        final static String[] DEFAULT_CNDS = { "/org/argeo/jcr/argeo.cnd",
                        "/org/argeo/cms/cms.cnd" };
 
index 83216d0484a96a896d6c4f95e1473bcce3ce1efe..0a512fff93988b778b01300ef65e70ffed67a9dc 100644 (file)
@@ -86,7 +86,7 @@ class NodeSecurity implements AuthenticationManager {
                File osgiInstanceDir = KernelUtils.getOsgiInstanceDir();
                File homeDir = new File(osgiInstanceDir, "node");
 
-               String baseNodeRoleDn = KernelConstants.ROLES_BASEDN;
+               String baseNodeRoleDn = KernelHeader.ROLES_BASEDN;
                File nodeRolesFile = new File(homeDir, baseNodeRoleDn + ".ldif");
                try {
                        FileUtils.copyInputStreamToFile(
index d8dcf0e361ae842a0e02c95885e36a58b79c276c..5459a2d13cab9ab3b1d860dd98bfeecce5fb8bfc 100644 (file)
@@ -11,6 +11,7 @@ import java.util.Set;
 import javax.naming.InvalidNameException;
 import javax.naming.ldap.LdapName;
 
+import org.argeo.cms.KernelHeader;
 import org.argeo.osgi.useradmin.ArgeoUserAdminException;
 import org.argeo.osgi.useradmin.UserAdminAggregator;
 import org.osgi.framework.InvalidSyntaxException;
@@ -23,7 +24,7 @@ public class NodeUserAdmin implements UserAdmin, UserAdminAggregator {
        final static LdapName ROLES_BASE;
        static {
                try {
-                       ROLES_BASE = new LdapName(KernelConstants.ROLES_BASEDN);
+                       ROLES_BASE = new LdapName(KernelHeader.ROLES_BASEDN);
                } catch (InvalidNameException e) {
                        throw new ArgeoUserAdminException("Cannot initialize "
                                        + NodeUserAdmin.class, e);
@@ -89,7 +90,7 @@ public class NodeUserAdmin implements UserAdmin, UserAdminAggregator {
        //
        @Override
        public synchronized void addUserAdmin(String baseDn, UserAdmin userAdmin) {
-               if (baseDn.equals(KernelConstants.ROLES_BASEDN)) {
+               if (baseDn.equals(KernelHeader.ROLES_BASEDN)) {
                        nodeRoles = userAdmin;
                        return;
                }
@@ -107,7 +108,7 @@ public class NodeUserAdmin implements UserAdmin, UserAdminAggregator {
 
        @Override
        public synchronized void removeUserAdmin(String baseDn) {
-               if (baseDn.equals(KernelConstants.ROLES_BASEDN))
+               if (baseDn.equals(KernelHeader.ROLES_BASEDN))
                        throw new ArgeoUserAdminException("Node roles cannot be removed.");
                LdapName base;
                try {
index 7370ea5af275ea171cfd42e7be1562027f4342bc..5c49cbadc729d1b15f514ae9de773a6a41d358ef 100644 (file)
@@ -3,39 +3,34 @@ objectClass: organizationalUnit
 objectClass: top
 ou: node
 
-dn: ou=system,ou=node
+dn: ou=roles,ou=node
 objectClass: organizationalUnit
 objectClass: top
 ou: system
 
-dn: cn=admin,ou=system,ou=node
+dn: cn=admin,ou=roles,ou=node
 objectClass: groupOfNames
 objectClass: top
 cn: admin
 member: uid=root,ou=users,dc=example,dc=com
 
-dn: cn=userAdmin,ou=system,ou=node
+dn: cn=userAdmin,ou=roles,ou=node
 objectClass: groupOfNames
 objectClass: top
 cn: userAdmin
-member: cn=admin,ou=system,ou=node
+member: cn=admin,ou=roles,ou=node
 member: uid=demo,ou=users,dc=example,dc=com
 
-dn: cn=groupAdmin,ou=system,ou=node
+dn: cn=groupAdmin,ou=roles,ou=node
 objectClass: groupOfNames
 objectClass: top
 cn: groupAdmin
-member: cn=admin,ou=system,ou=node
+member: cn=admin,ou=roles,ou=node
 
-dn: ou=org.argeo.cms,ou=node
-objectClass: organizationalUnit
-objectClass: top
-ou: org.argeo.cms
-
-dn: cn=editor,ou=org.argeo.cms,ou=node
+dn: cn=org.argeo.cms.editor,ou=roles,ou=node
 objectClass: groupOfNames
 objectClass: top
 cn: editor
-member: cn=admin,ou=system,ou=node
+member: cn=admin,ou=roles,ou=node
 member: uid=demo,ou=users,dc=example,dc=com
 
index 466402d4e6117faeb9c734746a23f43cbd998deb..b11d7b4b5b2f98594e622a2be85320f56a3f48fa 100644 (file)
@@ -39,10 +39,10 @@ public class SystemJackrabbitLoginModule implements LoginModule {
                // FIXME make it more generic
                for (Principal principal : principals) {
                        if (principal.getName().equalsIgnoreCase(
-                                       "cn=admin,ou=system,ou=node"))
+                                       "cn=admin,ou=roles,ou=node"))
                                isAdmin = true;
                        else if (principal.getName().equalsIgnoreCase(
-                                       "cn=anonymous,ou=system,ou=node"))
+                                       "cn=anonymous,ou=roles,ou=node"))
                                isAnonymous = true;
                }
 
index 68d88f2406b2acd3fcdc865fd1a95e0e315a7dc5..09ca3582620730ea8978e6edee67b15d59b778e6 100644 (file)
                  <enabledWhen>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=anonymous,ou=system,ou=node" />
+                       <equals value="cn=anonymous,ou=roles,ou=node" />
                      </iterate>
                    </with>
                  </enabledWhen>
                        <not>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=anonymous,ou=system,ou=node" />
+                       <equals value="cn=anonymous,ou=roles,ou=node" />
                      </iterate>
                    </with>
                    </not>
index 6978b3bd657c4bd93eefe201aaabaa56da794011..b843d9c912a316f60796144086a87e52d01dc444 100644 (file)
@@ -59,7 +59,7 @@
                  <enabledWhen>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=user,ou=system,ou=node" />
+                       <equals value="cn=user,ou=roles,ou=node" />
                      </iterate>
                    </with>
                  </enabledWhen>
@@ -71,7 +71,7 @@
                  <enabledWhen>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=admin,ou=system,ou=node" />
+                       <equals value="cn=admin,ou=roles,ou=node" />
                      </iterate>
                    </with>
                  </enabledWhen>
@@ -83,7 +83,7 @@
                  <enabledWhen>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=userAdmin,ou=system,ou=node" />
+                       <equals value="cn=userAdmin,ou=roles,ou=node" />
                      </iterate>
                    </with>
                  </enabledWhen>
@@ -95,7 +95,7 @@
                  <enabledWhen>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=groupAdmin,ou=system,ou=node" />
+                       <equals value="cn=groupAdmin,ou=roles,ou=node" />
                      </iterate>
                    </with>
                  </enabledWhen>
                        <not>
                    <with variable="roles">
                      <iterate ifEmpty="false" operator="or">
-                       <equals value="cn=admin,ou=system,ou=node" />
+                       <equals value="cn=admin,ou=roles,ou=node" />
                      </iterate>
                    </with>
                        </not>