代码之家  ›  专栏  ›  技术社区  ›  lx.

检索LDAP DN的空属性

  •  1
  • lx.  · 技术社区  · 16 年前

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

    无论如何,对于我的“ldaplist…”命令,我需要打印出来 全部的 属于该条目的属性,甚至那些没有值集的属性。

    不幸地 ldap_first_attribute / ldap_next_attribute 不返回它们,只返回那些有值集的,并且我找不到 ldap_search_ext_s 参数或 ldap_set_option 换一个可以帮我的。 希望你们中的一个知道怎么做。

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

    2 回复  |  直到 16 年前
        1
  •  1
  •   Sergey Kurenkov    16 年前

    我没有用过 ldap_search_ext_s 所以我不知道它的选项,我也不能告诉你一个基于这个函数的解决方案。不过,我想提出一个建议。

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

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

        2
  •  1
  •   jwilleke    16 年前

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

    您最好先显示已填充的属性,然后显示未填充的所需属性的列表。

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