]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.util/src/org/argeo/osgi/useradmin/OsUserDirectory.java
Introduce system roles
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / OsUserDirectory.java
index dd16e1a3be30a9f048455b8cdca58a01fe2d6288..b0a52626aa4cda31602e18b37ae8208804600d2e 100644 (file)
@@ -18,15 +18,15 @@ import org.osgi.service.useradmin.User;
 public class OsUserDirectory extends AbstractUserDirectory {
        private final String osUsername = System.getProperty("user.name");
        private final LdapName osUserDn;
-       private final LdifUser osUser;
+       private final DirectoryUser osUser;
 
        public OsUserDirectory(URI uriArg, Dictionary<String, ?> props) {
                super(uriArg, props, false);
                try {
-                       osUserDn = new LdapName(LdapAttrs.uid.name() + "=" + osUsername + "," + getUserBase() + "," + getBaseDn());
+                       osUserDn = new LdapName(LdapAttrs.uid.name() + "=" + osUsername + "," + getUserBaseRdn() + "," + getBaseDn());
                        Attributes attributes = new BasicAttributes();
                        attributes.put(LdapAttrs.uid.name(), osUsername);
-                       osUser = new LdifUser(this, osUserDn, attributes);
+                       osUser = newUser(osUserDn, attributes);
                } catch (NamingException e) {
                        throw new UserDirectoryException("Cannot create system user", e);
                }
@@ -51,7 +51,7 @@ public class OsUserDirectory extends AbstractUserDirectory {
        }
 
        @Override
-       protected List<DirectoryUser> doGetRoles(Filter f) {
+       protected List<DirectoryUser> doGetRoles(LdapName searchBase, Filter f, boolean deep) {
                List<DirectoryUser> res = new ArrayList<>();
                if (f == null || f.match(osUser.getProperties()))
                        res.add(osUser);