Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-2763

Optimize LDAP sync behavior for non-AD structures

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Fixed
    • 2.6
    • None
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      While Crowd is optimized to sync to Active Directory, for other LDAP structures Crowd follows a generic algorithm.

      The following describes the observed behavior (via LDAP query logging) during sync of a directory of type "Open LDAP (Read Only Posix Schema)":

      1. Search all data on all users:
      ou=People,dc=example,dc=com '(objectClass=inetOrgPerson)'
      
      2. Search all data on all groups:
      ou=Groups,dc=example,dc=com '(cn=*)'
      
      3. Repeat step 2.
      
      4. For each group found, do the following:
      	a. Search for all data on that group:
      	ou=Groups,dc=example,dc=com '(&(cn=*)(cn=<groupname>))'
      
      	b. Search for all users who have that group's GID number:
      	ou=People,dc=example,dc=com '(&(objectClass=inetOrgPerson)(gidNumber=<gidnumber>))'
      
      	c. For all users in that group:
      		I. Search for users with that uid:
      		ou=People,dc=example,dc=com '(&(objectClass=inetOrgPerson)(uid=<uid>))'
      

      It seems that from steps 1 and 2, Crowd should have all the information it needs. Step 4 performs a series of nested loops (for each group... for each user... etc), which can take some time for larger LDAP servers.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rchang Robert Chang
              Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: