object - OpenLDAP 如何创建和使用作为 inetOrgPerson 子级的对象类

标签 object ldap hierarchy addressbook

我正在尝试创建基于 LDAP 的地址簿。对于其中的每个收件人/用户,我需要存储有关他们的联系点的信息。信息将包括:
联系类型 - 电话/电子邮件/传真/寻呼机/等
标签 - 奶奶的阁楼、工作、家里等
地址 - 实际电话号码/电子邮件/等
和一些其他属性

我现在已经发现没有任何现成的东西可以处理这个问题,但是我可以创建自己的 ContactPoint ObjectClass,使其成为结构类并使其成为 inetOrgPerson 的子级。但我似乎仍然无法理解这一切是如何结合在一起的。例如,我如何查询一个人及其联系人?

最佳答案

LDAP 被设计为可扩展的,并且通常需要定义新的模式元素。当客户端找不到具有所需语法和名称的属性时,他们应该使用适当的对象类定义新属性。设计师应该:

  • 了解现有架构元素
  • 尽可能使用现有架构元素
  • 不使用供应商特定的属性,这会导致质量差、系统脆弱。仅使用标准机构定义的模式中的属性和对象类(当然除非您自己推出)
  • 继承现有的对象类,而不是定义新的对象类
  • 使用匹配规则(来自属性类型定义)进行比较,而不使用语言相等结构。
  • 除非绝对需要,否则请避免使用extensibleObject。使用 extensibleObject 是最后的选择,与使用非类型化编程语言类似,会导致系统质量差、脆弱且难以维护

更多信息请参见"LDAP: Programming Practices"

关于object - OpenLDAP 如何创建和使用作为 inetOrgPerson 子级的对象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8509884/

相关文章:

c# - 在c#中分层显示父子元素

C++ 对象数组。一个元素访问数组中另一个元素的方法

javascript - 访问对象中的嵌套键并将它们与其他对象键进行比较,但第二个是对象数组

c# - 我如何使用 C# 重写它,但保持它基于 COM?

LDAP 为用户分配角色的最佳方式

java - Android:这个应用程序的最佳层次结构是什么?

javascript - 分配对象索引以在对象内部可用

python - 如何将对象成员变量的值写入 csv 行?

spring - 使用 spring security 3.1 对事件目录进行身份验证时处理角色

java - Derby 数据库 - 确定层次结构中的级别以转换 DB -> DefaultMutableTreeNode Java 对象