From c6774c9dacea9aeeeaa594abf56a3331289bd3ba Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 9 Jan 2017 11:25:50 +0100 Subject: [PATCH] Fix issue with lower case object classes (typically in IPA) --- .../src/org/argeo/osgi/useradmin/LdapUserAdmin.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java index 456342e04..978b9a669 100644 --- a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java +++ b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/LdapUserAdmin.java @@ -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()); -- 2.30.2