目錄服務


在遠端 LDAP 名錄的目錄協助文件內設定搜尋過濾器
若伺服器使用目錄協助來搜尋遠端 LDAP 名錄,則您可以為該目錄使用「目錄協助」文件中的「要使用的搜尋過濾器類型」欄位來控制用於搜尋目錄的 LDAP 搜尋過濾器。下列為可用選項。
搜尋過濾器選項說明
標準 LDAP (預設)使用與大多數 LDAP 名錄伺服器 (包括 IBM Lotus Domino、IBM Directory Server 及 Sun ONE Directory Server) 配合使用的標準 LDAP 搜尋過濾器。
Active Directory使用與「Active Directory」伺服器配合使用的預先定義之搜尋過濾器。若遠端 LDAP 名錄為 Active Directory,則請選取此選項。

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

自訂用於定義您自己的搜尋過濾器。
附註 Active Directory 搜尋過濾器選項會取代 Release 5 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=%*)

使用此過濾器,如果使用者已在郵件收件人欄位中指定 "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=Acme" 的成員關係,會導致搜尋要求使用下列的過濾器:

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

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

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

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

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

若要定義自訂搜尋過濾器,您應該熟悉在 RFC 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 搜尋過濾器的範例
搜尋的名稱「目錄協助」文件中的搜尋過濾器公式用於搜尋名稱的搜尋過濾器
Alex M Davidson(|(givenname=%a)(sn=%z)(cn=%*)(mail=%l))(|(gn=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)
相關主題