You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2014/08/13 01:06:02 UTC

git commit: AMBARI-6838. Admin view: LDAP sync doesn't work when group contains users in upper case.

Repository: ambari
Updated Branches:
  refs/heads/trunk 2aee43d38 -> f2114d8c9


AMBARI-6838. Admin view: LDAP sync doesn't work when group contains users in upper case.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f2114d8c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f2114d8c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f2114d8c

Branch: refs/heads/trunk
Commit: f2114d8c9e7905cc6b4d87c2007e1253d6d9e01d
Parents: 2aee43d
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Tue Aug 12 16:04:45 2014 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Tue Aug 12 16:04:45 2014 -0700

----------------------------------------------------------------------
 .../security/authorization/AmbariLdapDataPopulator.java      | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/f2114d8c/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
index 3e0d49f..29b69a6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
@@ -227,13 +227,15 @@ public class AmbariLdapDataPopulator {
         if (!user.isLdapUser()) {
           users.setUserLdap(externalMember);
         }
-        internalUsers.remove(externalMember);
+        if (!internalMembers.containsKey(externalMember)) {
+          users.addMemberToGroup(groupName, externalMember);
+        }
         internalMembers.remove(externalMember);
+        internalUsers.remove(externalMember);
       } else {
         users.createUser(externalMember, "", true, false);
         users.setUserLdap(externalMember);
       }
-      users.addMemberToGroup(groupName, externalMember);
     }
     for (Entry<String, User> userToBeUnsynced: internalMembers.entrySet()) {
       final User user = userToBeUnsynced.getValue();
@@ -331,7 +333,7 @@ public class AmbariLdapDataPopulator {
         final DirContextAdapter adapter  = (DirContextAdapter) ctx;
         for (String uniqueMember: adapter.getStringAttributes(ldapServerProperties.getGroupMembershipAttr())) {
           final DirContextAdapter userAdapter = (DirContextAdapter) ldapTemplate.lookup(uniqueMember);
-          members.add(userAdapter.getStringAttribute(ldapServerProperties.getUsernameAttribute().toLowerCase()));
+          members.add(userAdapter.getStringAttribute(ldapServerProperties.getUsernameAttribute()).toLowerCase());
         }
         return null;
       }