From b32d420a753a57c3e2c90e471655f81396dc0fc5 Mon Sep 17 00:00:00 2001 From: Leonard Gram Date: Fri, 25 Jan 2019 16:43:54 +0100 Subject: [PATCH] ldap: refactoring. --- pkg/login/ldap.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkg/login/ldap.go b/pkg/login/ldap.go index 7c45db95649..c15cb865bd3 100644 --- a/pkg/login/ldap.go +++ b/pkg/login/ldap.go @@ -273,25 +273,28 @@ func (a *ldapAuther) initialBind(username, userPassword string) error { return nil } +func appendIfNotEmpty(slice []string, values ...string) []string { + for _, v := range values { + if v != "" { + slice = append(slice, v) + } + } + return slice +} + func (a *ldapAuther) searchForUser(username string) (*LdapUserInfo, error) { var searchResult *ldap.SearchResult var err error for _, searchBase := range a.server.SearchBaseDNs { attributes := make([]string, 0) - - appendIfNotEmpty := func(slice []string, attr string) []string { - if attr == "" { - return slice - } - return append(slice, attr) - } - - attributes = appendIfNotEmpty(attributes, a.server.Attr.Username) - attributes = appendIfNotEmpty(attributes, a.server.Attr.Surname) - attributes = appendIfNotEmpty(attributes, a.server.Attr.Email) - attributes = appendIfNotEmpty(attributes, a.server.Attr.Name) - attributes = appendIfNotEmpty(attributes, a.server.Attr.MemberOf) + inputs := a.server.Attr + attributes = appendIfNotEmpty(attributes, + inputs.Username, + inputs.Surname, + inputs.Email, + inputs.Name, + inputs.MemberOf) searchReq := ldap.SearchRequest{ BaseDN: searchBase,