Add object class to new users.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Sep 2015 08:31:08 +0000 (08:31 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Sep 2015 08:31:08 +0000 (08:31 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8396 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.security.core/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java

index 77f68463fe4452101d4fe1f4af66e00050cf3d52..a80c1c53359640f5e024fbc7575e212b4f9a5d50 100644 (file)
@@ -10,6 +10,7 @@ import java.util.Map;
 
 import javax.naming.InvalidNameException;
 import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
 import javax.naming.directory.BasicAttributes;
 import javax.naming.ldap.LdapName;
 import javax.naming.ldap.Rdn;
@@ -249,14 +250,20 @@ public abstract class AbstractUserDirectory implements UserAdmin {
 
        protected DirectoryUser newRole(LdapName dn, int type, Attributes attrs) {
                LdifUser newRole;
+               BasicAttribute objectClass = new BasicAttribute("objectClass");
                if (type == Role.USER) {
                        newRole = new LdifUser(this, dn, attrs);
-                       // users.put(dn, newRole);
+                       objectClass.add("inetOrgPerson");
+                       objectClass.add("organizationalPerson");
+                       objectClass.add("person");
+                       objectClass.add("top");
                } else if (type == Role.GROUP) {
                        newRole = new LdifGroup(this, dn, attrs);
-                       // groups.put(dn, (LdifGroup) newRole);
+                       objectClass.add("groupOfNames");
+                       objectClass.add("top");
                } else
                        throw new UserDirectoryException("Unsupported type " + type);
+               newRole.getAttributes().put(objectClass);
                return newRole;
        }