Where I work, we have over 1,000,000 groups in ldap. I have configured this module to assign roles for 2 of them. However, on every login, it tries to find the membership of the user to any and all groups they are in. Login times can be up to 45 seconds as a result. Is there any plan to allow limits on what groups it will find. If I am not assigning a role via an ldap group, and I don't have the create roles for groups checked, can we just limit the search the groups that are enumerated.

Comments

drupalnuts’s picture

Title: Module does not scale well » Module does not handle large numbers of groups well

I have fixed this by patching LdapServer.class.php. Is there a method I can use provide a custom version of this that gets loaded at runtime?

haydeniv’s picture

Hi drupalnuts,

Please see https://www.drupal.org/node/707484 for creating a patch with your fix. If it is a problem for you it is most likely a problem for others as well.

Thanks!

drupalnuts’s picture

@Haydeniv,

The changes I made won't work for anyone else, I hardcoded a filter in the ldap query. My question is there a way load my version of the class dynamically.

grahl’s picture

Title: Module does not handle large numbers of groups well » Provide filter option for group query
Category: Bug report » Feature request
Priority: Normal » Minor
Status: Active » Postponed

@drupalnuts: No there is no way for you to load your class dynamically with reasonable effort, you will have to rely on your patch.

Maybe a dumb question but wouldn't it make more sense to rely on groups visible via a memberOf overlay on the user instead of querying the groups in such a scenario?

grahl’s picture

Status: Postponed » Closed (outdated)

Closing issue as outdated due to no further development on 7.x, if you feel this issue is still relevant and you are willing to work on a patch and/or debug the problem, please reopen.