使用 goLang 的 LDAP 身份验证
LDAP authendication using goLang
我正在尝试使用 goLang 通过 LDAP 服务器进行身份验证,同时也在尝试搜索用户。
我是 goLang 和 LDAP 的新手,所以我提取了 GitHub 代码。
在尝试使用以下代码时,我在身份验证中遇到错误
func ExampleLDAPClient_Authenticate() {
client := &ldap.LDAPClient{
Base: "cn=admin,dc=testing,dc=io",
Host: "52.51.245.219",
Port: 389,
UseSSL: false,
BindDN: "cn=admin,dc=testing,dc=io",
BindPassword: "test123",
UserFilter: "(uid='*api*')",
// GroupFilter: "(memberUid=%s)",
Attributes: []string{"givenName", "sn", "mail", "uid"},
}
defer client.Close()
username := "cn=admin,dc=testing,dc=io"
password := "test123"
ok, user, err := client.Authenticate(username, password)
if err != nil {
log.Fatalf("Error authenticating user %s: %+v", "*cn=admin,dc=testing,dc=io*", err)
}
if !ok {
log.Fatalf("Authenticating failed for user %s", "*cn=admin,dc=testing,dc=io*")
}
log.Printf("User: %+v", user)
}
go run example.go
2016/10/06 23:52:25 Error authenticating user *cn=admin,dc=testing,dc=io*: LDAP Result Code 201 "": ldap: finished compiling filter with extra at end: %!(EXTRA string=bmui)
注意:使用 http 连接的 LDAP 服务器
谁能帮我解决这个问题...
这是什么图书馆?
我用过 http://gopkg.in/ldap.v2,在我的例子中它运行良好(至少在 OpenLDAP 服务器上)。可能值得一试 - 它似乎是最常用的库。
我正在尝试使用 goLang 通过 LDAP 服务器进行身份验证,同时也在尝试搜索用户。 我是 goLang 和 LDAP 的新手,所以我提取了 GitHub 代码。 在尝试使用以下代码时,我在身份验证中遇到错误
func ExampleLDAPClient_Authenticate() {
client := &ldap.LDAPClient{
Base: "cn=admin,dc=testing,dc=io",
Host: "52.51.245.219",
Port: 389,
UseSSL: false,
BindDN: "cn=admin,dc=testing,dc=io",
BindPassword: "test123",
UserFilter: "(uid='*api*')",
// GroupFilter: "(memberUid=%s)",
Attributes: []string{"givenName", "sn", "mail", "uid"},
}
defer client.Close()
username := "cn=admin,dc=testing,dc=io"
password := "test123"
ok, user, err := client.Authenticate(username, password)
if err != nil {
log.Fatalf("Error authenticating user %s: %+v", "*cn=admin,dc=testing,dc=io*", err)
}
if !ok {
log.Fatalf("Authenticating failed for user %s", "*cn=admin,dc=testing,dc=io*")
}
log.Printf("User: %+v", user)
}
go run example.go 2016/10/06 23:52:25 Error authenticating user *cn=admin,dc=testing,dc=io*: LDAP Result Code 201 "": ldap: finished compiling filter with extra at end: %!(EXTRA string=bmui)
注意:使用 http 连接的 LDAP 服务器
谁能帮我解决这个问题...
这是什么图书馆?
我用过 http://gopkg.in/ldap.v2,在我的例子中它运行良好(至少在 OpenLDAP 服务器上)。可能值得一试 - 它似乎是最常用的库。