| #
e7339d5a |
| 29-Jul-2021 |
Andreas Gohr <andi@splitbrain.org> |
Local handling of nested groups
All previous attempts to handle nested groups in a performant matter failed. Neither recursive requests nor using the LDAP_MATCHING_RULE_IN_CHAIN mechanism were suffi
Local handling of nested groups
All previous attempts to handle nested groups in a performant matter failed. Neither recursive requests nor using the LDAP_MATCHING_RULE_IN_CHAIN mechanism were sufficently fast enough to do bulk requests on users.
This now takes a completely different approach. When recursive groups are enabled, a single (paged) request for all groups is done. The list of these groups together with their parent info is then used to resolve any nested group memberships.
The group cache is saved in filesystem for the duration of the security timeout configuration.
Future enhancements should:
* see if the cache class could also be used for other caches currently implemented in Client.php * make the use of filesystem caching configurable
show more ...
|