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

建立與測試連結資料檢視

Procedure建立連結資料檢視

  1. 建立名為 myjoin1–view 的連結資料檢視。

    將 LDAP 資料檢視指定為主要資料檢視,而 JDBC 資料檢視為輔助資料檢視。


    % dpconf create-join-data-view myjoin1-view myds1-view mysql1-view o=join
  2. 在輔助資料檢視上定義連結規則。

    下列連結規則指定輔助資料檢視項目的 uid 屬性應與主要資料檢視項目的 uid 屬性相符。


    % dpconf set-jdbc-data-view-prop mysql1-view filter-join-rule:uid='${myds1-view.uid}'
  3. 如果在連結資料檢視上設定篩選連結規則,則必須在輔助資料檢視上設定虛擬轉換規則,才能在連結資料檢視上增加項目。


    dpconf add-virtual-transformation secondary-view-name \
    write add-attr-value dn uid=\${uid}

    備註 –

    若未設定此規則,則不可能在連結資料檢視上增加項目。


  4. 定義可以透過連結資料檢視從主要資料檢視讀取及寫入主要資料檢視的一組屬性。


    % dpconf set-ldap-data-view-prop myds1-view viewable-attr:dn viewable-attr:cn \
     viewable-attr:sn viewable-attr:givenName viewable-attr:objectClass viewable-attr:ou \
     viewable-attr:l viewable-attr:uid viewable-attr:mail viewable-attr:telephoneNumber \
     viewable-attr:facsimileTelephoneNumber viewable-attr:roomNumber viewable-attr:userPassword
    % dpconf set-ldap-data-view-prop myds1-view writable-attr:dn writable-attr:cn \
     writable-attr:sn writable-attr:givenName writable-attr:objectClass writable-attr:ou \
     writable-attr:l writable-attr:uid writable-attr:mail writable-attr:telephoneNumber \
     writable-attr:facsimileTelephoneNumber writable-attr:roomNumber writable-attr:userPassword

    這些定義僅套用至連結檢視的環境中。依預設,如果直接存取 LDAP 資料檢視,則可以讀取與寫入所有屬性。

  5. 定義可以透過連結資料檢視從輔助資料檢視讀取及寫入輔助資料檢視的一組屬性。


    % dpconf set-jdbc-data-view-prop mysql1-view viewable-attr:dn viewable-attr:objectclass \
     viewable-attr:sn viewable-attr:room viewable-attr:userpassword viewable-attr:jobtitle \
     viewable-attr:country viewable-attr:tel
    % dpconf set-jdbc-data-view-prop mysql1-view writable-attr:dn writable-attr:objectclass \
     writable-attr:sn writable-attr:room writable-attr:userpassword writable-attr:jobtitle \
     writable-attr:country writable-attr:tel

    這些定義僅套用至連結檢視的環境中。依預設,如果直接存取 JDBC 資料檢視,則可以讀取與寫入所有屬性。

Procedure建立所需的 ACI

  1. 以代理伺服器管理員的身份增加全域 ACI,來允許對連結資料檢視的匿名存取。


    % ldapmodify -p 1389 -D "cn=proxy manager" -w password
    dn: cn=myjoin1,cn=virtual access controls
    changetype: add
    objectclass: acisource
    dpsaci: (targetattr="*") (target = "ldap:///o=join") \
     (version 3.0; acl "anonymous_access"; allow(all) userdn="ldap:///anyone";)
    cn: myjoin1
  2. 建立連線處理程式處理與 o=join 網域的連線。


    % dpconf create-connection-handler myjoin1-handler
  3. 啟用連線處理程式,並將其配置為處理來自 o=join 下使用者的所有連結。


    % dpconf set-connection-handler-prop myjoin1-handler is-enabled:true \
     bind-dn-filters:"uid=.*,ou=people,o=join"
  4. 將連線處理程式配置為使用先前增加的 ACI 池。


    % dpconf set-connection-handler-prop myjoin1-handler aci-source:myjoin1

Procedure測試連結資料檢視

  1. 以匿名使用者身份搜尋連結資料檢視。

    此步驟將搜尋 Kirsten Vaughan 的項目,以查看是否同時從兩個連結檢視擷取資料。


    % ldapsearch -p 1389 -b o=join "uid=kvaughan"

    請注意,傳回的項目包含 LDAP 資料檢視與 JDBC 資料檢視的屬性。

  2. o=join 下使用者的身份修改 userPassword 屬性,來驗證是否可以寫入連結資料檢視。


    % ldapmodify -p 1389 -D "uid=kvaughan,ou=people,o=join" -w myNewPassword
    dn: uid=kvaughan,ou=people,o=join
    changetype: modify
    replace: userPassword
    userPassword: myPassword