X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifUserAdmin.java;h=8ec967b7007a73c8875e557b6e8ecee6c0305105;hb=a2ad417ed1d0219ac29d70ae985939764c13ce38;hp=86ef808d4e7133cb295db5272d04f135a707412d;hpb=85688af22a77f82e7762e11e6eb38c6367eddb6c;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdifUserAdmin.java b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdifUserAdmin.java index 86ef808d4..8ec967b70 100644 --- a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdifUserAdmin.java +++ b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdifUserAdmin.java @@ -1,7 +1,7 @@ package org.argeo.osgi.useradmin; -import static org.argeo.osgi.useradmin.LdifName.inetOrgPerson; -import static org.argeo.osgi.useradmin.LdifName.objectClass; +import static org.argeo.naming.LdapAttrs.objectClass; +import static org.argeo.naming.LdapObjs.inetOrgPerson; import java.io.File; import java.io.FileOutputStream; @@ -26,6 +26,7 @@ import org.argeo.naming.LdifParser; import org.argeo.naming.LdifWriter; import org.osgi.framework.Filter; import org.osgi.service.useradmin.Role; +import org.osgi.service.useradmin.User; /** * A user admin based on a LDIF files. Requires a {@link TransactionManager} and @@ -48,6 +49,13 @@ public class LdifUserAdmin extends AbstractUserDirectory { load(in); } + @Override + protected AbstractUserDirectory scope(User user) { + Dictionary properties = cloneProperties(); + properties.put(UserAdminConf.readOnly.name(), "true"); + return new LdifUserAdmin(properties); + } + private static Dictionary fromUri(String uri, String baseDn) { Hashtable res = new Hashtable(); res.put(UserAdminConf.uri.name(), uri);