fix(connector/ldap): explicit anonymus ldap bind

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
Mark Sagi-Kazar 2021-06-28 17:49:40 +02:00
parent f7c09760f2
commit 215c3160f8
No known key found for this signature in database
GPG Key ID: 31AB0439F4C5C90E

View File

@ -331,10 +331,11 @@ func (c *ldapConnector) do(_ context.Context, f func(c *ldap.Conn) error) error
defer conn.Close() defer conn.Close()
// If bindDN and bindPW are empty this will default to an anonymous bind. // If bindDN and bindPW are empty this will default to an anonymous bind.
if err := conn.Bind(c.BindDN, c.BindPW); err != nil { if c.BindDN == "" && c.BindPW == "" {
if c.BindDN == "" && c.BindPW == "" { if err := conn.UnauthenticatedBind(""); err != nil {
return fmt.Errorf("ldap: initial anonymous bind failed: %v", err) return fmt.Errorf("ldap: initial anonymous bind failed: %v", err)
} }
} else if err := conn.Bind(c.BindDN, c.BindPW); err != nil {
return fmt.Errorf("ldap: initial bind for user %q failed: %v", c.BindDN, err) return fmt.Errorf("ldap: initial bind for user %q failed: %v", c.BindDN, err)
} }