链接属性是一对属性,系统根据在整个林中设置的其他属性(前向链接)设置的值计算一个属性(后退链接)的值。 任何对象实例上的后链接值都包括具有相应前向链接中设置该对象的 DN 的所有对象的 DN。 例如,“Manager”和“Reports”是一对链接属性,其中 Manager 是转发链接,报表是后退链接。 现在假设比尔是乔的经理。 如果将 Bill 的用户对象的 DN 存储在 Joe 用户对象的“Manager”属性中,则 Joe 用户对象的 DN 将显示在 Bill 用户对象的“报表”属性中。
前向链接/后退链接对由两个 attributeSchema 定义的 linkID 值标识。 前向链接的 linkID 是偶数、正值、非零值,关联的后链接 linkID 是前向 linkID 加 1。 例如,“Manager”的 linkID 为 42,“报表”的 linkID 为 43。
下面是定义新链接属性对的准则列表:
- linkID 值在所有 attributeSchema 对象中必须是唯一的。 若要避免冲突,应按照主题 获取链接 ID中的说明自动生成 linkID。
- 后退链接必须具有相应的前向链接,即前向链接必须存在,然后才能创建相应的后退链接属性。
- 后退链接始终是多值属性。 转发链接可以是单值链接,也可以是多值链接。 当存在多对多关系时,请使用多值转发链接。
- 前向链接的 attributeSchema 值为 2.5.5.1、2.5.5.7 或 2.5.5.14。 这些值对应于包含可分辨名称的语法,如 Object(DS-DN) 语法。
- attributeSchema 返回链接的值必须为 2.5.5.1,这是 Object(DS-DN) 语法。
- 按照惯例,后退链接属性将添加到 mayContain顶部 抽象类的值。 这样,就可以从任何类的对象中读取后链接属性,因为它们实际上不是随对象一起存储的,而是基于前向链接值计算的。