gpt4 book ai didi

go - 我想检查给定 objectGUID 的密码

转载 作者:IT王子 更新时间:2023-10-29 01:47:08 24 4
gpt4 key购买 nike

我想在 GoLang 中编写一个使用 objectGuid 搜索 ldap 用户的函数。
我使用 ldap 作为“gopkg.in/ldap.v2”来连接 ldap 主机。

l,_ :=ldap.Dial("tcp", fmt.Sprintf("%s:%d", host, 389))
defer l.Close()
l.Bind(adminuser, adminpass);
searchRequest := ldap.NewSearchRequest(
"dc="+strings.Join(strings.Split(domain,"."),",dc="),
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0,
0,false,
"(&(objectclass=person)(objectGUID=???SpecialFormat???))",
[]string{"dn"},
nil,
)
sr, err := l.Search(searchRequest);
if err!=nil {
log.Printf("Error %s",err);
}

userdn := sr.Entries[0].DN; // I need UserDN for checking

err=l.Bind(userdn, string(pass)) //checking password

我的代码是这样的。
我想搜索一个 GUID 类似于“445a1532-08aa-4a10-8a9c-d7f10f574afe”的人。
但我想,“ldapsearch 请求”想要 objectGUID 的不同格式。
如何将我的 GUIDString 转换为所需的格式。

最佳答案

据我所知,对象 GUID 必须以一种称为 Octet String 的不同格式传递给 LDAP 过滤器。

格式只是将对象 Guid 中包含的十六进制值拆分为字节(请记住,一个字节包含两个十六进制数字)。

示例:"b0ae470c-16bc-4019-b455-8c96ec515f55" -> "\0c\47\ae\b0\bc\16\19\40\b4\55\8c\96\ec\51\5f\55"

我在 Go Playground 中创建了一个简单的 golang 函数给你玩。

希望这能解决您的问题。

关于go - 我想检查给定 objectGUID 的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com