Sun Java System Directory Server Enterprise Edition 6.0 管理指南

設定參照

若用戶端應用程式在本機無法得知所應連絡的伺服器,您可以使用參照予以告知。參照是目錄伺服器傳回用戶端以替代結果之遠端尾碼或項目的指標。用戶端必須接著在參照中所命名的遠端伺服器上再次執行此作業。

有三種情況下會執行重新導向:

在任何情況下,參照皆是含有主機名稱、連接埠號與其他伺服器之 DN (可選擇) 的 LDAP URL。例如,ldap://east.example.com:389

如需有關如何在您的目錄部署中使用參照的概念性資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Deployment Planning Guide」

以下幾節將說明設定目錄預設參照以及建立與定義智慧型參照的程序。

設定預設參照

預設參照會傳回到用戶端應用程式,該用戶端應用程式會在不是由您的目錄伺服器所維護之尾碼中的 DN 提交作業。伺服器會傳回所有定義的參照,但不會定義其傳回順序。

Procedure設定預設參照

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 dsconf 指令行公用程式可設定一或多個預設參照。


    $ dsconf set-server-prop -h host -p port suffix-DN referral-url:referral-URL
    

    例如:


    $ dsconf set-server-prop -h host1 -p 1389 dc=example,dc=com \
     referral-url:ldap://east.example.com:1389

設定智慧型參照

智慧型參照可讓您將目錄項目或目錄樹狀結構對映至特定的 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 )。

Procedure建立及修改智慧型參照

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 若要建立智慧型參照,請以 referralextensibleObject 物件類別建立項目。

    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
  2. (可選擇) 若要修改智慧型參照項目,請使用 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