Как я могу исправить ошибку операций фильтра LDAP GoLang? - PullRequest
0 голосов
/ 06 февраля 2020

Итак, я новичок в 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)
}

1 Ответ

0 голосов
/ 07 февраля 2020

Комментарии к вопросу помогли мне понять это. Моя база-DN была выключена. Предполагалось, что это будет «DC = пример, DC = com», а не «OU = OUg_Applications».

...