X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdapUserAdmin.java;h=af75bf03e524c7ed4b4f6d143fe74a4c6036ed1c;hb=4c7e1885b8bf3c93fa0919ace122e3f289a925ea;hp=cd28748f583c70cbd6553fde16bd3d3a092ed369;hpb=9f729eeb8255a9d800ad2506735dda8cc215a135;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/LdapUserAdmin.java b/org.argeo.util/src/org/argeo/osgi/useradmin/LdapUserAdmin.java index cd28748f5..af75bf03e 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/LdapUserAdmin.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/LdapUserAdmin.java @@ -1,6 +1,6 @@ package org.argeo.osgi.useradmin; -import static org.argeo.naming.LdapAttrs.objectClass; +import static org.argeo.util.naming.LdapAttrs.objectClass; import java.util.ArrayList; import java.util.Dictionary; @@ -95,16 +95,17 @@ public class LdapUserAdmin extends AbstractUserDirectory { } @Override - protected List doGetRoles(Filter f) { + protected List doGetRoles(LdapName searchBase, Filter f, boolean deep) { ArrayList res = new ArrayList(); try { String searchFilter = f != null ? f.toString() : "(|(" + objectClass + "=" + getUserObjectClass() + ")(" + objectClass + "=" + getGroupObjectClass() + "))"; SearchControls searchControls = new SearchControls(); - searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); + // FIXME make one level consistent with deep + searchControls.setSearchScope(deep ? SearchControls.SUBTREE_SCOPE : SearchControls.ONELEVEL_SCOPE); - LdapName searchBase = getBaseDn(); + // LdapName searchBase = getBaseDn(); NamingEnumeration results = ldapConnection.search(searchBase, searchFilter, searchControls); results: while (results.hasMoreElements()) { @@ -186,4 +187,11 @@ public class LdapUserAdmin extends AbstractUserDirectory { // prepare not impacting } +// @Override +// public HierarchyUnit getHierarchyUnit(String path) { +// LdapName dn = LdapNameUtils.toLdapName(path); +// Attributes attrs = ldapConnection.getAttributes(dn); +// +// } + }