我正在尝试创建基于 LDAP 的地址簿。对于其中的每个收件人/用户,我需要存储有关他们的联系点的信息。信息将包括:
联系类型 - 电话/电子邮件/传真/寻呼机/等
标签 - 奶奶的阁楼、工作、家里等
地址 - 实际电话号码/电子邮件/等
和一些其他属性
我现在已经发现没有任何现成的东西可以处理这个问题,但是我可以创建自己的 ContactPoint ObjectClass,使其成为结构类并使其成为 inetOrgPerson 的子级。但我似乎仍然无法理解这一切是如何结合在一起的。例如,我如何查询一个人及其联系人?
最佳答案
LDAP 被设计为可扩展的,并且通常需要定义新的模式元素。当客户端找不到具有所需语法和名称的属性时,他们应该使用适当的对象类定义新属性。设计师应该:
- 了解现有架构元素
- 尽可能使用现有架构元素
- 不使用供应商特定的属性,这会导致质量差、系统脆弱。仅使用标准机构定义的模式中的属性和对象类(当然除非您自己推出)
- 继承现有的对象类,而不是定义新的对象类
- 使用匹配规则(来自属性类型定义)进行比较,而不使用语言相等结构。
- 除非绝对需要,否则请避免使用
extensibleObject
。使用extensibleObject
是最后的选择,与使用非类型化编程语言类似,会导致系统质量差、脆弱且难以维护
关于object - OpenLDAP 如何创建和使用作为 inetOrgPerson 子级的对象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8509884/