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

配置模式匹配分配算法

目录代理服务器会根据请求的参数与一个或多个模式的匹配情况,将请求分配给数据视图。设置以下参数可配置模式匹配分配算法:

filter 结尾的配置属性是 LDAP 过滤器,而不是正则表达式。这些 LDAP 过滤器的值是基于传入的搜索请求中所包含的 LDAP 过滤器来计算的。

例如,使用以下设置配置模式匹配分配算法,将 uid 为偶数的用户的请求发送给偶数数据视图,将 uid 为奇数的用户的请求发送给奇数数据视图。


$ dpconf set-ldap-data-view-prop even
pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-dn-regular-expression:'uid=[0-9]+[02468]'
distribution-algorithm: pattern-matching 

$ dpconf set-ldap-data-view-prop odd
pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-dn-regular-expression:'uid=[0-9]+[13579]'
distribution-algorithm: pattern-matching 

(uid=\2a) 表达式中,\2a* 的 ASCII 表示形式,其中 2a 是两个十六进制数字。(uid=\2a) 表达式可确保数据视图接受所有 uid 的请求。

模式匹配算法支持的语法由 Java 模式类(请参见 http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html 上提供的文档)来指定。此语法不同于常规的 regex 语法。