2

我目前正在为我的公司编写一个工具(在 ANSI C 中),它从 LDAP 目录读取并以特定格式输出所有数据(即:我们旧的专有目录 db 的名称格式)。然后由另一个读取输出的工具处理,依此类推......不要问。

无论如何,对于我的“ldaplist ...”命令,我需要打印出属于该条目的所有属性,即使是那些没有设置值的属性。

不幸的是ldap_first_attribute/ldap_next_attribute不返回它们,只返回那些设置了值的,我在这里找不到可以帮助我的ldap_search_ext_s参数或ldap_set_option开关。希望你们中的一个人知道如何做到这一点。

感谢您的时间和提前帮助!

4

2 回答 2

2

我同意,与skwllsp。您需要在每个条目上返回每个对象类的模式并显示每个属性。不幸的是,这可能比您预期的要多得多,因为在这种类型的回报中可能有很多“无用”的数据。

您会很好地显示已填充的属性,然后显示未填充的所需属性列表。

您可能会通过查看以下内容获得一些帮助:http: //developer.novell.com/documentation/samplecode/cldap_sample/index.htm 祝你好运 -jim

于 2009-11-06T09:01:53.383 回答
1

我没有使用过ldap_search_ext_s,所以我不知道它的选项,也无法告诉你基于使用此功能的解决方案。但是,我想提出一个想法。

  1. 您需要从 LDAP 服务器检索模式。模式条目的 DN 位于根节点中。之后,您必须检索架构条目及其“objectClasses”属性。它包含每个类的规范及其允许的属性类型(模式)。

  2. 当您运行 LDAP 搜索时,您通常会获得零个、一个或多个条目。每个条目都有一个 objectClass 属性。读取它的值,它们是对象类的名称。然后在模式中找到每个对象类并检索其属性类型。如果在返回的条目中没有一个或几个属性,则意味着该属性没有任何值,或者您不允许读取该条目中的属性。

于 2009-10-28T15:30:47.703 回答