LDAP config: fix substitution variables (#11586)

- In username search filter and username format variables we support %s for
replacing with the username.

- In group search filter we support %s for username and %d for the full DN of
the username.
This commit is contained in:
Aditya Manthramurthy
2021-02-22 13:20:36 -08:00
committed by GitHub
parent cec12f4c76
commit 02e7de6367
2 changed files with 9 additions and 2 deletions

View File

@@ -301,7 +301,8 @@ func (l *Config) Bind(username, password string) (string, []string, error) {
var groups []string
if l.GroupSearchFilter != "" {
for _, groupSearchBase := range l.GroupSearchBaseDistNames {
filter := strings.Replace(l.GroupSearchFilter, "%s", ldap.EscapeFilter(bindDN), -1)
filter := strings.Replace(l.GroupSearchFilter, "%s", ldap.EscapeFilter(username), -1)
filter = strings.Replace(filter, "%d", ldap.EscapeFilter(bindDN), -1)
searchRequest := ldap.NewSearchRequest(
groupSearchBase,
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false,