动态条件由 LDAP 搜索 URL 组成,这些 URL 用作搜索用户目录以确定成员资格的过滤器。这种机制是动态的,即,当邮件到达该组时,收到邮件的各个成员是通过目录搜索确定的,而不是通过查询静态名称列表确定。这样,您便可以创建和维护非常大或非常复杂的组,而不必明确跟踪每个成员。
LDAP 搜索过滤器的格式必须采用 LDAP URL 语法。有关构建 LDAP 过滤器的详细信息,请参见《Sun ONE Server Console 5.2 Server Management Guide》的 "User and Group Administration" 一章。另请参见 Sun Java System Directory Server 文档和 RFC 1959。
LDAP URL 具有以下语法:
ldap://hostname:port/base_dn?attributes?scope?filter
其中 URL 的选项具有以下含义:
表 C–1 LDAP URL 选项
选项 |
说明 |
---|---|
hostname |
Directory Server 的主机名(默认值为 Messaging Server 使用的 Directory Server 主机名)。 |
port |
LDAP 服务器的端口号。如果未指定端口,则默认值为 Messaging Server 使用的标准 LDAP 端口。 |
base_dn |
目录中的条目的标识名,将用作搜索基准。此部分是必需的。 |
attributes |
要返回的属性。这些属性由 Messaging Server 提供。 |
scope |
搜索范围: base 范围将只检索搜索基准 (base_dn) 本身中的信息。 one 范围将检索搜索基准下一级的信息(不包括搜索基准级别)。 sub 范围将检索搜索基准以及搜索基准以下所有条目中的信息。 |
filter |
应用于指定搜索范围内的条目的搜索过滤器。如果未指定过滤器,将使用 (objectclass=*)。 |
以下是一个 LDAP 搜索 URL 示例,它将过滤出使用 Sunnyvale 作为其邮件主机的用户:
ldap:///o=Siroe Corp,c=US??sub?(&(mailHost=sunnyvale.siroe.com) (objectClass=inetLocalMailRecipient))
上述 URL 要过滤出的用户是 Siroe 组织的成员 (o=Siroe),位于美国 (c=US),并且邮件主机为 Sunnyvale (mailHost=sunnyvale)。objectClass 属性定义了要搜索的条目类型,在本例中是 inetLocalMailRecipient (objectClass=inetLocalMailRecipient)。
请注意,当您使用 Console 创建搜索过滤器时,将忽略所有组的名称;也就是说,搜索结果中将只包含用户名,而不包含组成员。此设置的目的是为了避免在搜索结果中出现重复的用户(他们同时也是组成员)。可以使用命令行配置实用程序 (configutil) 来覆盖此设置,但是建议不要如此操作。
如下一节中所述,Console 提供了一个模板窗口(“构造 LDAP 搜索 URL”窗口),可以使用其帮助构建搜索 URL。