-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LDAP: rework configuration and move to a common module #2708
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
d227818
to
449f676
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately I still have some questions, sorry...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Instead of open a new connection with every single requests. We now use a long-lived connection per service with a simple mechanism to automatically reconnect in case of failures. Fixes cs3org#2122
This reworks the LDAP configuration of the user- and groups-providers. As the LDAP groups provider needs to be aware of users (e.g. for looking up groups members) and the LDAP users provider needs to be aware of groups (e.g. for looking up groupmembership of a user) this commit basically unifies the configuration of both providers. Additionally the LDAP configuration is reworked to no longer rely on templating LDAP filters in the configuration with can be error prone and confusing. This commit also move all code executing LDAP queries into the common utlis/ldap module for being able to share more code between both providers.
Depending on the configured group_objectclass we can no resolve group members by DN as well. Closes: 2124
GetUser() was used to lookup users by name or ID, however it is only supposed to work for ID based lookups. If the ID based lookup fails fallback to an explicit GetUserByClaim fall for trying a name based lookup.
webUISharingInternalGroupsEdgeCases/shareWithGroupsEdgeCases.feature:41 no longer fails as cs3org/reva#2708 fixed some issue with LDAP filter escaping.
webUISharingInternalGroupsEdgeCases/shareWithGroupsEdgeCases.feature:41 no longer fails as cs3org/reva#2708 fixed some issue with LDAP filter escaping.
This reworks the LDAP configuration of the user- and groups-providers.
As the LDAP groups provider needs to be aware of users (e.g. for
looking up groups members) and the LDAP users provider needs to be aware
of groups (e.g. for looking up groupmembership of a user) this commit
basically unifies the configuration of both providers.
Additionally the LDAP configuration is reworked to no longer rely on
templating LDAP filters in the configuration with can be error prone and
confusing.
This commit also move all code executing LDAP queries into the common
utlis/ldap module for being able to share more code between both
providers.
Instead of open a new connection with every single requests. We now use
a long-lived connection per service with a simple mechanism to
automatically reconnect in case of failures.