在远程 LDAP 目录的 Directory Assistance 文档中配置搜索过滤器

在远程 LDAP 目录的 Directory Assistance 文档中配置搜索过滤器
如果服务器使用目录服务搜索远程 LDAP 目录,可以使用该目录的 Directory Assistance 文档中的“要使用的搜索过滤器类型”域,以控制使用哪种 LDAP 搜索过滤器。搜索目录下列选项可供选择。
搜索过滤器选项描述
标准 LDAP(缺省)使用标准的 LDAP 搜索过滤器,该过滤器适用于大多数 LDAP 目录服务器,包括 IBM(R) Lotus(R) Domino(tm)、IBM(R) 目录服务器和 Sun ONE 目录服务器。
Active Directory使用适用于 Active Directory 服务器的预定义搜索过滤器。如果远程 LDAP 目录是 Active Directory,请选择此选项。
定制用于定义自己的搜索过滤器。
注意 Active Directory 搜索过滤器选项替代了 R5 NOTES.INI 中的设置项 WebAuth_AD_Group(该设置项允许搜索 Active Directory 组)。

定义定制的搜索过滤器
如果搜索未返回结果或返回错误的结果,可能需要定义定制的搜索过滤器。如果远程 LDAP 目录服务器使用非标准的模式,可能会出现这种情况。通常,定制过滤器是一种可被用于生成唯一高效匹配的特定属性,其独特之处在于每一项的属性值都不相同,高效之处则在于使用索引或其他某种快速机制来确保搜索的快速性。

在“要使用的搜索过滤器类型”域中选择“定制”后,会出现下列三个用于定义定制的搜索过滤器的域。

定制搜索过滤器域描述
邮件过滤器如果目录服务是为 Notes 用户在目录中查找邮件地址而配置的,则可使用该搜索过滤器在目录中查找名称。保留此域为空将使用下列缺省的搜索过滤器:

(|(cn=%*)(|(&(sn=%a)(givenname=%z))(&(sn=%z)(givenname=%a))))

如果用户在“邮件收件人”域中指定了“Pat Smith”,则 LDAP 搜索请求使用的结果过滤器应为:

(|(cn=Pat Smith)(|(&(sn=Pat)(givenname=Smith))(&(sn=Smith)(givenname=Pat))))

如果用户始终在“邮件收件人”域中键入其 UID 属性,则可能需要定制邮件过滤器。定制过滤器如下所示:

(uid=%l)

有了该过滤器后,如果用户在“邮件收件人”域中指定“BAK12345”,LDAP 搜索请求使用的结果过滤器应为:

(uid=BAK12345)

认证过滤器如果将目录服务配置为信任用于客户机认证的远程 LDAP 目录,则可以使用该过滤器在目录中查找名称。保留此域为空将使用下列缺省的搜索过滤器:

(|(cn=%*)(|(&(sn=%a)(givenname=%z))(&(sn=%z)(givenname=%a))))

如果用户在 HTTP 登录提示中指定了“Maryanne Brown”,则 LDAP 搜索请求使用的结果过滤器应为:

(|(cn=Maryanne Brown)(|(&(sn=Maryanne)(givenname=Brown))(&(sn=Brown)
(givenname=Maryanne))))

如果用户通常在登录提示中指定其员工标识符或邮件属性,则可能需要定制认证过滤器。在本例中,定制过滤器如下所示:

(|(employeeID=%*)(mail=%*))

因此,如果用户在登录提示中指定了“MB12345”,则 LDAP 搜索请求使用的结果过滤器应为:

(|(employeeID=AS12345)(mail=AS12345))

授权过滤器指定一个搜索过滤器,用于在 Notes 数据库授权时查找组成员。保留此域为空将使用下列缺省的搜索过滤器:

(|(&(objectclass=groupOfUniqueNames)(UniqueMember=%*))
(&(objectclass=groupOfNames)(Member=%*)))

在本例中,关于“cn=June Day,ou=Westford,o=Acme”的成员查找将在搜索请求中使用下列过滤器:

(|(&(objectclass=groupOfUniqueNames)(UniqueMember=
cn=June Day,ou=Sales,o=Acme))(&(objectclass=groupOfNames)
(Member=cn=June Day,ou=Sales,o=Acme)))

如果为 ACL 组扩展启用的 LDAP 服务器存储 objectClass 为 aclGroup 的组,则可能需要指定下列定制过滤器:

(&(objectclass=aclGroup)(Member=%*))

在本例中,关于“cn=June Day,ou=Sales,o=Acme”的成员查找将在 LDAP 搜索请求中使用下列过滤器:

(&(objectclass=aclGroup)(Member=cn=June Day,ou=Sales,o=Acme))

要定义定制的搜索过滤器,应该熟悉 RFCs 2251 和 2254 中描述的有效的搜索过滤器语法。

定制 LDAP 搜索过滤器的语法
要定义定制的搜索过滤器,请将参数插入标准 LDAP 搜索过滤器中,以代表要搜索的名称的一部分。

名称部分定义为名称部分样例(粗体)要插入的代表名称部分的参数
从第一个字符到第一个空格或标点之间的字符串Alex M Davidson%a
从最后一个空格或标点到最后一个字符之间的字符串Alex M Davidson%z
全名完整姓名Alex M Davidson%*
本地部分RFC 822 邮件地址的本地部分amd@acme.com%l
域部分RFC 822 邮件地址的域部分amd@acme.com%d
任何字符串值要搜索的属性或对象的字符串值。例如,如果搜索包含过滤器,其中“uid=%s”,则在本例中 %s 代表的名称部分是 amd。%s

定制的 LDAP 搜索过滤器样例
要搜索的名称Directory Assistance 文档中的搜索过滤器公式用于搜索名称的搜索过滤器
Alex M Davidson(|(givenname=%a)(sn=%z)
(cn=%*)(mail=%l))
(|(givenname=Alex)(sn=Davidson)
(cn=Alex M Davidson)(mail=""))
amd(EmpID=%*)(EmpID=amd)
amd(EmpID=%z)(EmpID="")
amd(mail=%*@acme.com)(mail=amd@acme.com)
amd(mail=%*@*)(mail=amd@*)
amd@acme.com(mail=*@%d)(mail=*@acme.com)
amd@acme.com(mail=%*)(mail=amd@acme.com)
amd@acme.com(uid=%l)(uid=amd)
blue(color=%*)(color=blue)
另见

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值