Make Attributes keys case insensitive
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 1 Dec 2015 09:51:18 +0000 (09:51 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 1 Dec 2015 09:51:18 +0000 (09:51 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8657 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

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

index 0ed712c0b8b8c311a9e2f955fc9e9b989e564572..f871cd25e8af8c8c97e96e06ab9f62ff2136bcaa 100644 (file)
@@ -293,7 +293,7 @@ abstract class AbstractUserDirectory implements UserAdmin, UserDirectory {
                if ((daoHasRole(dn) && !wc.getDeletedUsers().containsKey(dn))
                                || wc.getNewUsers().containsKey(dn))
                        throw new UserDirectoryException("Already a role " + name);
-               BasicAttributes attrs = new BasicAttributes();
+               BasicAttributes attrs = new BasicAttributes(true);
                attrs.put("dn", dn.toString());
                Rdn nameRdn = dn.getRdn(dn.size() - 1);
                // TODO deal with multiple attr RDN
index 73dc510eccae80b2a1702564f518aecee8a5242c..17bbc3733e405897ec8655a1dbc739a7646f5b0f 100644 (file)
@@ -127,6 +127,7 @@ public class LdapUserAdmin extends AbstractUserDirectory {
                        results: while (results.hasMoreElements()) {
                                SearchResult searchResult = results.next();
                                Attributes attrs = searchResult.getAttributes();
+                               log.debug(attrs.isCaseIgnored());
                                Attribute objectClassAttr = attrs.get(objectClass.name());
                                LdapName dn = toDn(searchBase, searchResult);
                                LdifUser role;
index 9e89c5eb7ca28855891aac52d46bcdd4cc275e51..da793adcebec4b05ff159c1b21d47ed4131ae64a 100644 (file)
@@ -116,7 +116,7 @@ class LdifParser {
                                                        try {
                                                                currentDn = new LdapName(
                                                                                attributeValue.toString());
-                                                               currentAttributes = new BasicAttributes();
+                                                               currentAttributes = new BasicAttributes(true);
                                                        } catch (InvalidNameException e) {
                                                                log.error(attributeValue
                                                                                + " not a valid DN, skipping the entry.");