LDAP连接和搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LDAP连接和搜索相关的知识,希望对你有一定的参考价值。

我是LDAP的新手,我需要在我的办公室LDAP中检索一些信息,没有人在这里帮助我。这是我得到的信息(出于安全原因我改变了一点):

  • host:the.ldap.host
  • 搜索基础:ou =人,dc = xxx,dc = yyyy,dc = zzzzz
  • 过滤器:(projectTeams = manager)
  • user:uid = eric,ou = Technical,dc = xxx,dc = yyyy,dc = zzzzz
  • 密码:blabla

这就是我找到所有“经理”所做的工作

这是我的代码:

Dim oRoot2 As DirectoryEntry = New DirectoryEntry ("LDAP://the.ldap.host", "uid=eric,ou=Technical,dc=xxx,dc=yyyy,dc=zzzzz", "blabla",AuthenticationTypes.None)
try
    Dim connected As Object = oRoot2.NativeObject
    msgbox "Connected"
    Dim searcher As DirectorySearcher = New DirectorySearcher(oRoot2)
    searcher.Filter = "(projectTeams=manager)"
    Dim DirEntry As DirectoryEntry
    For Each result As SearchResult In searcher.FindAll
        DirEntry = result.GetDirectoryEntry
        lst.Items.Add(DirEntry.Properties("iam-uid").Value)
    Next
catch ex as exception
    msgbox (ex.message)
End try

在运行时,我收到了“已连接”消息框,但后来我收到错误“服务器上没有这样的对象”。执行以下行时抛出此错误:

For Each result As SearchResult In searcher.FindAll

我不知道如何编码搜索库是“ou = People,dc = xxx,dc = yyyy,dc = zzzzz”

我已经花了两天时间尝试。欢迎所有帮助。

答案

我终于找到了获取所需信息的方法,这里是适用于我的代码:

Dim oRoot2 As DirectoryEntry = New DirectoryEntry ("LDAP://the.ldap.host/ou=People,dc=xxx,dc=yyyy,dc=zzzzz", "uid=eric,ou=Technical,dc=xxx,dc=yyyy,dc=zzzzz", "blabla",AuthenticationTypes.None)

这个小改动改变了​​一切,其余代码(见下文)现在正在运行。

try Dim connected As Object = oRoot2.NativeObject msgbox "Connected" Dim searcher As DirectorySearcher = New DirectorySearcher(oRoot2) searcher.Filter = "(projectTeams=manager)" Dim DirEntry As DirectoryEntry For Each result As SearchResult In searcher.FindAll DirEntry = result.GetDirectoryEntry lst.Items.Add(DirEntry.Properties("iam-uid").Value) Next catch ex as exception msgbox (ex.message) End try

我花了3个工作日来找到这个... pfff。

以上是关于LDAP连接和搜索的主要内容,如果未能解决你的问题,请参考以下文章

存储 LDAP 连接并在会话中绑定

LDAP:如何使用连接详细信息验证用户身份

java 连接 ldap 报错

使用没有管理员连接的LDAP在Laravel中进行身份验证/登录?

windows下配置openldap,manager的连接:LDAP error:无效的凭据

在 AD 服务器上使用 winldap.h 进行 LDAP 搜索