X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FNodeUserAdmin.java;h=e8977fa37466858eb32698ae2db94b2e03db3f3f;hb=0435920b5f0246af061fc68e5f3814d978686f23;hp=236585e1bd2ca1fb313c48e88f392aaf2c0f1ab8;hpb=2980adcfb0c8778426cd0f2176b86ba00e9697ab;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java index 236585e1b..e8977fa37 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java @@ -86,6 +86,7 @@ class NodeUserAdmin extends AggregatingUserAdmin implements ManagedServiceFactor private GSSCredential acceptorCredentials; private boolean singleUser = false; + private boolean systemRolesAvailable = false; public NodeUserAdmin(String systemRolesBaseDn) { super(systemRolesBaseDn); @@ -137,7 +138,13 @@ class NodeUserAdmin extends AggregatingUserAdmin implements ManagedServiceFactor log.debug("User directory " + userDirectory.getBaseDn() + " [" + u.getScheme() + "] enabled." + (realm != null ? " " + realm + " realm." : "")); - if (!isSystemRolesBaseDn(baseDn)) { + if (isSystemRolesBaseDn(baseDn)) + systemRolesAvailable = true; + + // start publishing only when system roles are available + if (systemRolesAvailable) { + // The list of baseDns is published as properties + // TODO clients should rather reference USerDirectory services if (userAdminReg != null) userAdminReg.unregister(); // register self as main user admin