在遠端 LDAP 目錄的目錄協助文件內設定搜尋過濾器

對於使用目錄協助來搜尋遠端 LDAP 目錄的伺服器,您可以控制用來搜尋目錄的 LDAP 搜尋過濾器。對於目錄使用「目錄協助」文件中的「要使用的搜尋過濾器類型」欄位,以控制用來搜尋目錄的 LDAP 搜尋過濾器。

執行這項作業的原因和時機

針對要控制其搜尋過濾器的目錄,在「目錄協助」文件的「要使用的搜尋過濾器類型」欄位中,指定使用哪一個 LDAP 搜尋過濾器來搜尋目錄。

1. LDAP 搜尋過濾器選項

搜尋過濾器選項

說明

標準 LDAP(預設)

使用與大多數 LDAP 目錄伺服器搭配使用的標準 LDAP 搜尋過濾器。

Active Directory

使用與「Active Directory伺服器配合使用的預先定義之搜尋過濾器。若遠端 LDAP 目錄為 Active Directory,則請選取此選項。

註: 搜尋過濾器中的每一個屬性都應在 Active Directory中設定索引。否則搜尋效能會較低,且搜尋結果將不可靠。

這個選項會取代第 5 版 NOTES.INI 設定 WebAuth_AD_Group,如此可允許進行 Active Directory 群組搜尋。

自訂

用於定義您自己的搜尋過濾器。

定義自訂搜尋過濾器

執行這項作業的原因和時機

若搜尋未傳回結果或者傳回錯誤項目的結果,則您可能需要定義自訂搜尋過濾器。如果遠端 LDAP 目錄伺服器使用非標準的綱目,則可能會發生這種狀況。通常,自訂過濾器會被特定屬性列為目標,而這些屬性可用來產生唯一有效的配對 - 唯一就是每個項目的屬性值都不同,有效則是具有索引或更快速的機制確定搜尋可以快速進行。

若要定義自訂搜尋過濾器,您應該熟悉在 RFC 2251 和 2254 中所說明的有效搜尋過濾器的語法。

「要使用的搜尋過濾器類型」欄位中選取「自訂」,然後指定定義自訂搜尋過濾器的方式:

2. 用來定義自訂搜尋過濾器的欄位

自訂搜尋過濾器欄位

說明

郵件過濾器

如果已配置目錄協助,讓 HCL 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=%*)

使用此過濾器,如果使用者在郵件收件人欄位中指定「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))))

如果使用者通常會在登入提示指定他們的員工 ID 或郵件屬性,您可以自訂驗證過濾器。此時,自訂過濾器如下所示:

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

因此,如果使用者已在登入提示中指定 "MB12345",則 LDAP 搜尋要求上使用的結果過濾器為:

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

授權過濾器

指定用來查閱 Notes® 資料庫授權群組成員的搜尋過濾器。保留欄位空白來使用下列預設搜尋過濾器:

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

在此情況下,查閱 "cn=June Day,ou=Westford,o=Renovations" 的成員資格,會導致搜尋要求使用下列過濾器:

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

如果已啟動供 ACL 群組延伸使用的 LDAP 伺服器,以 aclGroup 的 物件Class 儲存群組,您可以指定下列自訂過濾器:

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

在此情況下,查閱 "cn=June Day,ou=Sales,o=Renovations" 的成員資格,會導致 LDAP 搜尋要求使用下列過濾器:

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

若要定義自訂搜尋過濾器,您應該熟悉在 RFC 2251 和 2254 中所說明的有效搜尋過濾器的語法。

自訂 LDAP 搜尋過濾器的語法

執行這項作業的原因和時機

若要定義自訂搜尋過濾器,請將參數插入標準 LDAP 搜尋過濾器以代表正在搜尋之名稱的一部分。

3. 在標準 LDAP 搜尋過濾器中使用的參數

名稱部分

定義為

名稱部分的範例 (使用粗體)

要插入以代表名稱部分的參數

名字

從第一個字元到第一個空格或標點符號的字元組

Alex M Davidson

%a

姓氏

從最後一個空格或標點符號到最後一個字元的字元組

Alex M Davidson

%z

全名

整個名稱

{1}Alex M Davidson{2}

%*

本端部分

RFC 822 郵件位址的本端部分

amd@renovations.com

%l

網域部分

RFC 822 郵件位址的網域部分

amd@renovations.com

%d

任何字串值

要進行搜尋之屬性或物件的字串值。

例如,如果搜尋包含 "uid=%s" 過濾器,那麼此例中以 %s 代表的名稱部分為 amd。

%s

自訂 LDAP 搜尋過濾器的範例

4. 自訂 LDAP 搜尋過濾器的範例
搜尋的名稱 「目錄協助」文件中的搜尋過濾器公式 用於搜尋名稱的搜尋過濾器
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=%*)
(EmpID="")
amd
(mail=%*@renovations.com)
(mail=amd@renovations.com)
amd
(mail=%*@*)
(mail=amd@*)
amd@renovations.com
(mail=*@%d)
(mail=*@renovations.com)
amd@renovations.com
(mail=%*)
(mail=amd@renovations.com)
amd@renovations.com
(uid=%l)
(uid=amd)
blue
(color=%*)
(color=blue)