Итак, я новичок в GoLang и пытаюсь создать фильтр LDAP. Тем не менее, я получаю следующую ошибку:
LDAP Result Code 1 "Operations Error": 000020D6: SvcErr: DSID-031007E5, problem 5012 (DIR_ERROR), data 0
Я прочитал здесь ( Ошибки LDAP ), что «Ошибка операций» происходит, когда не все необходимые вызовы были сделаны или Порядок работы звонков неправильный.
Честно говоря, я не уверен, что мне не хватает и что я делаю неправильно.
Мой код следующий
import (
"crypto/tls"
"fmt"
"github.com/go-ldap/ldap/v3"
"log"
)
func ApiCaller(){
// The username and password we want to check
username := "username"
password := "password"
//Establishing connection to the LDAP server
l, err := ldap.Dial("tcp", "exampleURL.com:389")
if err != nil {
log.Fatal(err)
}
// Closing connection in case of error
defer l.Close()
// Reconnect with TLS
err = l.StartTLS(&tls.Config{InsecureSkipVerify: true})
if err != nil {
log.Fatal(err)
}
// Bind as the user to verify their password
err = l.Bind(username, password)
if err != nil {
log.Fatal(err)
}
// Setting up the search criterias with filter
searchRequest := ldap.NewSearchRequest(
"OU=OUg_Applications",
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false,
fmt.Sprintf("(&(OU=OUg_Applications))"),
[]string{""},
nil,
)
// Performing search in the LDAP Server
sr, err := l.Search(searchRequest)
if err != nil {
log.Fatal(err)
}
fmt.Println(sr.Entries)
}