]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java
Simplify simple user admin configurations
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / osgi / useradmin / LdapUserAdmin.java
index 456342e04e35f06b432f1f7c91193d28cba85914..494d9c2dfaf0c0b78981f0615daf1719a93cb496 100644 (file)
@@ -39,7 +39,7 @@ public class LdapUserAdmin extends AbstractUserDirectory {
        private InitialLdapContext initialLdapContext = null;
 
        public LdapUserAdmin(Dictionary<String, ?> properties) {
-               super(properties);
+               super(null, properties);
                try {
                        Hashtable<String, Object> connEnv = new Hashtable<String, Object>();
                        connEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
@@ -120,7 +120,7 @@ public class LdapUserAdmin extends AbstractUserDirectory {
                                throw new UserDirectoryException("Unsupported LDAP type for " + name);
                        return res;
                } catch (NamingException e) {
-                       log.error("Cannot get role: "+e.getMessage());
+                       log.error("Cannot get role: " + name, e);
                        return null;
                }
        }
@@ -144,9 +144,11 @@ public class LdapUserAdmin extends AbstractUserDirectory {
                                Attribute objectClassAttr = attrs.get(objectClass.name());
                                LdapName dn = toDn(searchBase, searchResult);
                                LdifUser role;
-                               if (objectClassAttr.contains(getGroupObjectClass()))
+                               if (objectClassAttr.contains(getGroupObjectClass())
+                                               || objectClassAttr.contains(getGroupObjectClass().toLowerCase()))
                                        role = new LdifGroup(this, dn, attrs);
-                               else if (objectClassAttr.contains(getUserObjectClass()))
+                               else if (objectClassAttr.contains(getUserObjectClass())
+                                               || objectClassAttr.contains(getUserObjectClass().toLowerCase()))
                                        role = new LdifUser(this, dn, attrs);
                                else {
                                        log.warn("Unsupported LDAP type for " + searchResult.getName());