Jakob Borg 48f9d323fa
lib/api: Add LDAP search filters (fixes #5376) (#6488)
This adds the functionality to run a user search with a filter for LDAP
authentication. The search is done after successful bind, as the binding
user. The typical use case is to limit authentication to users who are
member of a group or under a certain OU. For example, to only match
users in the "Syncthing" group in otherwise default Active Directory
set up for example.com:

    <searchBaseDN>CN=Users,DC=example,DC=com</searchBaseDN>
    <searchFilter>(&amp;(sAMAccountName=%s)(memberOf=CN=Syncthing,CN=Users,DC=example,DC=com))</searchFilter>

The search filter is an "and" of two criteria (with the ampersand being
XML quoted),

- "(sAMAccountName=%s)" matches the user logging in
- "(memberOf=CN=Syncthing,CN=Users,DC=example,DC=com)" matches members
  of the group in question.

Authentication will only proceed if the search filter matches precisely
one user.
2020-04-04 11:33:43 +02:00
..
2020-03-03 22:40:00 +01:00
2020-02-24 21:57:15 +01:00
2020-02-24 21:57:15 +01:00
2020-03-30 23:26:28 +02:00
2020-03-03 22:40:00 +01:00
2020-03-03 22:40:00 +01:00
2020-02-24 21:57:15 +01:00
2020-03-03 22:40:00 +01:00
2020-03-03 22:40:00 +01:00
2020-02-24 21:57:15 +01:00