智慧型參照可讓您將目錄項目或目錄樹狀結構對映至特定的 LDAP URL。使用智慧型參照,可讓您將用戶端應用程式納入特定的伺服器或特定伺服器上特定項目的參照。
智慧型參照通常會指向另一部伺服器上具有相同 DN 的實際項目。但您仍可定義相同或不同伺服器上任意項目的智慧型參照。例如,您可以將具有下列 DN 的項目定義為智慧型參照:
uid=bjensen,ou=People,dc=example,dc=com |
智慧型參照會指向伺服器 east.example.com 上的另一個項目:
cn=Babs Jensen,ou=Sales,o=east,dc=example,dc=com |
目錄使用智慧型參照的方式,必須符合 RFC 4511 的第 4.1.10 款所訂定的標準 (http://www.ietf.org/rfc/rfc4511.txt )。
您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
若要建立智慧型參照,請以 referral 與 extensibleObject 物件類別建立項目。
referral 物件類別允許預期應包含 LDAP URL 的 ref 屬性。extensibleObject 物件類別允許您以任何模式屬性做為命名屬性,以符合目標項目。
例如,若要定義下列可傳回智慧型參照的項目,而非項目 uid=bjensen,請使用此指令:
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com objectclass: top objectclass: extensibleObject objectclass: referral uid: bjensen ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Sales,o=east,dc=example,dc=com |
LDAP URL 中任何位於空格之後的資訊均會遭伺服器忽略。因此,在您打算做為參照的任何 LDAP URL 中,所有空格都必須以 %20 取代。其他特殊字元則必須加上引號。
在您定義智慧型參照後,uid=bjensen 項目的修改實際上將對其他伺服器的 cn=Babs Jensen 項目執行。ldapmodify 指令會自動追蹤參照,例如:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: telephoneNumber telephoneNumber: (408) 555-1234 |
(可選擇) 若要修改智慧型參照項目,請使用 ldapmodify 的 -M 選項:
$ ldapmodify -M -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: ref ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Marketing,o=east,dc=example,dc=com |