Fix issue with lower case object classes (typically in IPA)
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 9 Jan 2017 10:25:50 +0000 (11:25 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 9 Jan 2017 10:25:50 +0000 (11:25 +0100)
org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java

index 456342e04e35f06b432f1f7c91193d28cba85914..978b9a6692b24de651bd02c16a59391b4356a86d 100644 (file)
@@ -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: " + e.getMessage());
                        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());