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在Laravel中进行身份验证/登录?