X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fruntime%2FCmsUserAdmin.java;h=e6f903d393179003f2862331a9ab131f0133de11;hb=feddb4be70a8304dd4a533efee6e14c22691b500;hp=ab98c062585684c9a536dc95a20644d7208dc1bf;hpb=f3ea14abccc33b1c3326417a87c91145be776c72;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java index ab98c0625..e6f903d39 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java @@ -29,14 +29,14 @@ import org.argeo.api.cms.CmsAuth; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsState; +import org.argeo.api.cms.directory.UserDirectory; +import org.argeo.api.cms.transaction.WorkControl; +import org.argeo.api.cms.transaction.WorkTransaction; import org.argeo.cms.CmsDeployProperty; -import org.argeo.osgi.useradmin.AggregatingUserAdmin; -import org.argeo.osgi.useradmin.DirectoryUserAdmin; -import org.argeo.osgi.useradmin.UserDirectory; -import org.argeo.util.directory.DirectoryConf; -import org.argeo.util.naming.dns.DnsBrowser; -import org.argeo.util.transaction.WorkControl; -import org.argeo.util.transaction.WorkTransaction; +import org.argeo.cms.dns.DnsBrowser; +import org.argeo.cms.osgi.useradmin.AggregatingUserAdmin; +import org.argeo.cms.osgi.useradmin.DirectoryUserAdmin; +import org.argeo.cms.runtime.DirectoryConf; import org.ietf.jgss.GSSCredential; import org.ietf.jgss.GSSException; import org.ietf.jgss.GSSManager; @@ -65,7 +65,7 @@ public class CmsUserAdmin extends AggregatingUserAdmin { private CmsState cmsState; public CmsUserAdmin() { - super(CmsConstants.ROLES_BASEDN, CmsConstants.TOKENS_BASEDN); + super(CmsConstants.SYSTEM_ROLES_BASEDN, CmsConstants.TOKENS_BASEDN); } public void start() { @@ -88,12 +88,12 @@ public class CmsUserAdmin extends AggregatingUserAdmin { protected List> getUserDirectoryConfigs() { List> res = new ArrayList<>(); - Path nodeBase = cmsState.getDataPath(KernelConstants.DIR_NODE); + Path nodeBase = cmsState.getDataPath(KernelConstants.DIR_PRIVATE); List uris = new ArrayList<>(); // node roles String nodeRolesUri = null;// getFrameworkProp(CmsConstants.ROLES_URI); - String baseNodeRoleDn = CmsConstants.ROLES_BASEDN; + String baseNodeRoleDn = CmsConstants.SYSTEM_ROLES_BASEDN; if (nodeRolesUri == null && nodeBase != null) { nodeRolesUri = baseNodeRoleDn + ".ldif"; Path nodeRolesFile = nodeBase.resolve(nodeRolesUri); @@ -177,8 +177,13 @@ public class CmsUserAdmin extends AggregatingUserAdmin { } catch (Exception e) { throw new RuntimeException("Cannot interpret " + uri + " as an uri", e); } - Dictionary properties = DirectoryConf.uriAsProperties(u.toString()); - res.add(properties); + + try { + Dictionary properties = DirectoryConf.uriAsProperties(u.toString()); + res.add(properties); + } catch (Exception e) { + log.error("Cannot load user directory " + u, e); + } } return res; @@ -191,7 +196,7 @@ public class CmsUserAdmin extends AggregatingUserAdmin { try { if (uri == null) { String baseDn = (String) properties.get(DirectoryConf.baseDn.name()); - u = KernelUtils.getOsgiInstanceUri(KernelConstants.DIR_NODE + '/' + baseDn + ".ldif"); + u = KernelUtils.getOsgiInstanceUri(KernelConstants.DIR_PRIVATE + '/' + baseDn + ".ldif"); } else if (realm != null) { u = null; } else { @@ -214,14 +219,14 @@ public class CmsUserAdmin extends AggregatingUserAdmin { // } else { // throw new IllegalArgumentException("Unsupported scheme " + u.getScheme()); // } - String basePath = userDirectory.getContext(); + String basePath = userDirectory.getBase(); addUserDirectory(userDirectory); if (isSystemRolesBaseDn(basePath)) { addStandardSystemRoles(); } if (log.isDebugEnabled()) { - log.debug("User directory " + userDirectory.getContext() + (u != null ? " [" + u.getScheme() + "]" : "") + log.debug("User directory " + userDirectory.getBase() + (u != null ? " [" + u.getScheme() + "]" : "") + " enabled." + (realm != null ? " " + realm + " realm." : "")); } return userDirectory;