猿问

如何为未知层次结构编写基本 ldap 字符串

我有一个看起来有点像这样的活动目录:


gdcmpny.com

    |__GoodCompany

       |

       |__NYC

       |  |__Users

       |

       |__SF

          |__Users

当用户向我发送他的用户名+密码时,我不知道他是在 NYC/Users 还是 SF/Users 下。有没有办法像这样复合字符串:


CN=Users,OU=%s,OU=GoodCompany,DC=gdcmpny,DC=com

所以 ldap 请求会在 NYC/Users 和 SF/Users 中查找?还是我必须指定确切的绝对路径?

我正在使用 Go 发送请求,包为 github.com/jtblin/go-ldap-client。


饮歌长啸
浏览 128回答 3
3回答

翻阅古今

不幸的是,不在 Microsoft Active Directory 上。有一种叫做ExtensibleMatch的东西,但在 Microsoft Active Directory 上不受支持。-吉姆

月关宝盒

字符串格式,例如:CN=Users,OU=%s,OU=Goenter code hereodCompany,DC=gdcmpny,DC=com不受支持,但我可以简单地不在我的请求中指定整个层次结构。这对我有用:OU=GoodCompany,DC=gdcmpny,DC=com

慕桂英546537

您不需要使用完全限定的 DN 来对 Active Directory 服务器进行 LDAP 绑定。您可以使用 sAMAccountName 和 userPrincipalName 值对 AD LDAP 进行身份验证...假设您在单个林中有一棵树,这些值是通过将用户提供的登录 ID 与字符串连接而成的。对于具有旧域名 GDCMPNY 的 AD 域 gdcmpny.com,登录 ID 为 MyUserName 的用户的 userPrincipalName MyUserName@gdcmpny.com和 sAMAccountName 为GDCMPNY\MyUserName,无论其 ID 在目录结构中的位置如何。如果您在林中有多个域并且不能简单地知道要添加到用户 ID 的正确字符串,您可以在已知系统凭据下绑定,搜索用户提供的登录 ID,并返回完全限定的 DN (FQDN) 匹配条目。然后使用 FQDN 和用户提供的密码来验证用户的凭据。
随时随地看视频慕课网APP

相关分类

Go
我要回答