是否可以創建一個LDAP查詢來返回(或檢查)嵌套組中的用戶?例如UserA是GroupA的成員,GroupA是GroupB的成員。我想要GroupB上的查詢返回UserA是成員。僅限LDAP。該服務器是Active Directory。ldap嵌套組成員資格
30
A
回答
54
是的,使用LDAP_MATCHING_RULE_IN_CHAIN匹配規則(OID 1.2.840.113556.1.4.1941)。例如:
(memberOf:1.2.840.113556.1.4.1941:=cn=group,cn=users,DC=x)
看到http://msdn.microsoft.com/en-us/library/aa746475%28VS.85%29.aspx
2
您必須使用組的完全可分辨名稱在我的情況下,使用memberOf:1.2.840.113556.1.4.1941:=
時CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com
是整個專有名稱
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com))
你可以得到尊敬通過運行以下代碼並放入此過濾器,您的組的名稱 (&(objectClass = group)(name = MyGroup))
Imports System.DirectoryServices
Module Module1
Sub Main()
Dim run As Boolean = True
Dim Filter As String
While run
Console.WriteLine("Enter Filter:")
Filter = Console.ReadLine()
If Filter = "exit" Then
run = False
Else
checkFilter(Filter)
End If
End While
End Sub
Function checkFilter(Filter As String) As Boolean
Dim search As New DirectorySearcher("LDAP://dc=Domain,dc=com")
Try
search.Filter = Filter
search.PropertiesToLoad.Add("name")
search.PropertiesToLoad.Add("distinguishedName")
search.SearchScope = SearchScope.Subtree
Dim results As SearchResultCollection = search.FindAll()
If results Is Nothing Then
Console.WriteLine("Nothing")
Return False
Else
If results.Count() = 0 Then
Console.WriteLine("non found")
End If
Dim result As SearchResult
For Each result In results
Console.WriteLine(result.Properties("name")(0).ToString())
Console.WriteLine(result.Properties("distinguishedName")(0).ToString())
'For Each prop In result.Properties("members")
' Console.WriteLine(prop.ToString())
'Next
Next
Console.WriteLine(String.Format("{0} Users Found", results.Count()))
End If
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Return True
End Function
End Module
0
至於你的問題,查詢應該是
(&(memberOf:1.2.840.113556.1.4.1941:={0})(objectCategory=person)(objectClass=user)(sAMAccountName={1}))
{0}
是嵌套組,它應該是一個分辨名稱
{1}
是用戶sAMAccountName賦你想(您可以在(sAMAccountName={1})
之內使用除sAMAccountName之外的任何其他用戶屬性)
然後,如果用戶是嵌套組的成員,您將獲得用戶詳細信息
相關問題
- 1. LDAP嵌套組成員
- 2. ldap嵌套組成員過濾器
- 3. LDAP用戶在WebSphere嵌套組成員
- 4. PHP/AD/LDAP:嵌套組成員關係
- 5. 遞歸查詢LDAP組成員資格
- 6. 使用LDAP顯示特定組的所有嵌套組成員?
- 7. LDAP嵌套組(屬性看在分析組成員)
- 8. c#LDAP的成員資格枚舉
- 9. 通過LDAP使用asp.net成員資格
- 10. LDAP Java - 在可信域中搜索組成員資格
- 11. 使用.NET管理Novell eDirectory中的LDAP組和成員資格
- 12. 使用LDAP和PHP檢查Active Directory中的組成員資格
- 13. 用於檢查屬性和組成員資格的LDAP查詢
- 14. Rails的嵌套資源使用:成員
- 15. Java AD組成員資格
- 16. 檢查組成員資格
- 17. 組羣成員ldap查詢
- 18. LDAP:獲取組的成員
- 19. 嵌套組成員PowerShell的報告
- 20. 如何通過SQL Server查詢LDAP中的嵌套成員
- 21. 用戶has_many成員資格和has_many組織通過成員資格。如何指定默認會員資格?
- 22. Asp.net成員資格
- 23. ASP.net - 成員資格
- 24. ASP.NET成員資格
- 25. ASP.NET成員資格 - 針對Apache DS的LDAP身份驗證
- 26. GlassFish JDBC領域組成員資格
- 27. Azure AD App讀取組成員資格
- 28. 在rails中檢查組成員資格設計ldap gem,它在yaml中嗎?
- 29. 設置搜索過濾Artifactory,LDAP w/AD的uid和組成員資格
- 30. asp.net成員資格:擴展角色成員資格?
謝謝;雖然它是這種情況下的成員(成員會告訴我用戶是其成員的組) – askvictor 2011-06-07 03:46:25
您能解釋一下對於我們這些不擅長LDAPese的人麼? – 2011-10-25 16:12:24
這個規則是微軟的擴展嗎? – 2012-09-26 10:55:45