Sun Java System Communications Services 2005Q4 版本說明

允許目錄瀏覽

做為此 7 2005Q4 發行版本中的新增功能,Connector for Microsoft Outlook 現在允許一般使用者瀏覽目錄。開啟通訊錄頁面時,將顯示目錄中的前 10 個項目。然後使用者可以上下捲動,或鍵入少量字元即可看到結果自動重新整理。這是之前 Connector for Microsoft Outlook 版本的變更,在該版本中使用者僅能搜尋一個特定使用者。

若要在保持良好效能的同時啟用此功能,連接器依靠兩個名為 Virtual List View (VLV) 和 Server Side Sorting of Search Results (RFC 2891) 的 LDAP 控制延伸。以下 ldapsearch 範例傳回支援的控制之清單:

# ldapsearch -s base "objectclass=*" supportedControl 
supportedControl=2.16.840.1.113730.3.4.2 
supportedControl=2.16.840.1.113730.3.4.3 
supportedControl=2.16.840.1.113730.3.4.4 
supportedControl=2.16.840.1.113730.3.4.5 
supportedControl=1.2.840.113556.1.4.473  ------> Server Side Sort Control 
supportedControl=2.16.840.1.113730.3.4.9 ------> VLV Control 
supportedControl=2.16.840.1.113730.3.4.16 
supportedControl=2.16.840.1.113730.3.4.15 
supportedControl=2.16.840.1.113730.3.4.17 
supportedControl=2.16.840.1.113730.3.4.19 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.2 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.6 
supportedControl=2.16.840.1.113730.3.4.14 
supportedControl=1.3.6.1.4.1.1466.29539.12 
supportedControl=2.16.840.1.113730.3.4.12 
supportedControl=2.16.840.1.113730.3.4.18 
supportedControl=2.16.840.1.113730.3.4.13

Sun Java System Directory Server 不支援這些控制。然而,依預設 VLV 控制僅對經過認證的使用者可用:

ldapsearch -D "cn=Directory Manager" -b \
"oid=2.16.840.1.113730.3.4.9,cn=features,cn=config" \
"objectclass=*" aci oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
aci=(targetattr != "aci")(version 3.0; acl "VLV Request Control"; \
allow( read, search, compare, proxy ) userdn = "ldap:///all";)

若要允許匿名存取 VLV 控制,請增加相應的 ACI:

#ldapmodify -D "cn=Directory Manager" \
dn: oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
changetype: modify add: aci aci: (targetattr !="aci")\
(version 3.0; acl "VLV Request Control"; allow (compare
read,search) \
userdn = "ldap:///anyone"; )

若要改善需要 VLV plus Sort 之搜尋的效能,請在 Directory Server 中建立瀏覽索引 (如「Sun Java System Directory Server 5 2005Q1 Administration Guide」的「Managing Browsing Indexing」中所述)。每個瀏覽索引特定於一個基底 DN、搜尋篩選器、範圍和排序屬性。可以使用部署配置工具在用戶端方調校 VLV。

在此特殊情況下,需要使用 cn 屬性上的排序為等價於 dc=red,dc=iplanet,dc=com 的基底 DN、等價於 (&(mail=*)(cn=*)) 的篩選器建立瀏覽索引。瀏覽索引資訊增加至包含基底 DN (這裡為 userRoot) 的配置中:

#ldapmodify -D "cn=Directory Manager" 
dn: cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvSearch 
cn: Browsing red.sesta.com 
vlvbase: dc=red,dc=sesta,dc=com 
vlvscope: 2 
vlvfilter: (&(mail=*)(cn=*)) 
aci: (targetattr="*") 
(version 3.0; acl "VLV for Anonymous"; 
allow (read,search,compare) 
userdn="ldap:///anyone";) 
dn: cn=Sort by cn, cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvIndex 
cn: Sort by cn 
vlvSort: cn 

接著執行位於 serverroot/slapd-instance 之下的 vlvindex 指令:

# ./vlvindex -n userRoot -T "Sort by cn"