History log of /plugin/pureldap/_test/GroupHierarchyCacheTest.php (Results 1 – 1 of 1)
Revision Date Author Comments
# 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 ...