gpt4 book ai didi

delphi - 使用 FILTER 进行 LDAP 查询

转载 作者:行者123 更新时间:2023-12-02 05:32:55 28 4
gpt4 key购买 nike

假设我有以下 LDAP 查询:

Base DN: OU=Groups,DC=office,DC=domain,DC=org
Filter: (member:1.2.840.113556.1.4.1941:=CN=adam smith,OU=Users,DC=office,DC=domain,DC=org)

如何在Delphi(2007)下执行它?使用 ADO 的示例似乎具有 SQL'ish 语法,但我现在不知道如何转换它?

最佳答案

在 Delphi 中,您可以使用两种方式获取数据:

  • 您描述的“SQL'ish”语法 - 基本上是对 Active Directory 的 ADO 访问。如果您有 SQL 背景,这很容易,但它在某些方面也受到限制(例如,您无法获取多值属性等)。你会发现一些Search Tips on ADO在 Richard Mueller 的网站上(AD 编程 MVP)

  • 导入 ActiveDs.tlb 类型库并使用 ADSI 提供的 COM 接口(interface)(最值得注意的是 IDirectorySearch )进行搜索。这是一个相当困惑的 COM 接口(interface),这可能就是为什么大多数人倾向于使用更容易访问的 ADO 搜索内容

早在我还在编写 Delphi 时,我做了很多 Active Directory 的工作,并放置了一些我的 Delphi/AD 技巧和一些示例代码 onto my site 。虽然它已经有一段时间没有更新了 :-( 但是您(和其他 Delphites)可能会对 ADSISearch 组件感兴趣

更新:您可以在 TADOCommand 中尝试这个“SQL-ish”语句吗?

SELECT sAMAccountName, displayName 
FROM 'LDAP://OU=Groups,DC=office,DC=domain,DC=org'
WHERE objectCategory='group'
AND member:1.2.840.113556.1.4.1941:=(CN=adam smith,OU=Users,DC=office,DC=domain,DC=org)

关于delphi - 使用 FILTER 进行 LDAP 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094206/

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