LDAP(輕量級目錄訪問協議)過濾器用于在LDAP搜索中指定篩選條件。編寫正確的LDAP過濾器需要理解其語法規則和結構。以下是編寫LDAP過濾器的一些基本步驟和示例:
LDAP過濾器通常使用括號()
來包圍過濾條件,并使用邏輯運算符(如&
表示與,|
表示或,!
表示非)來組合多個條件。
相等性過濾:使用=
運算符來匹配屬性值。
(objectClass=person)
這個過濾器將返回所有對象類為person
的條目。
范圍過濾:使用>=
和<=
運算符來匹配屬性值的范圍。
(sn=Doe)
這個過濾器將返回所有姓氏為Doe
的條目。
模式匹配過濾:使用~*
運算符來進行正則表達式匹配。
(cn=J*son)
這個過濾器將返回所有名字以J
開頭的條目。
存在性過濾:使用=*
運算符來檢查某個屬性是否存在。
(mail=*@example.com)
這個過濾器將返回所有至少有一個電子郵件地址的條目。
假設你想在一個名為ou=users,dc=example,dc=com
的LDAP目錄中查找所有年齡大于30歲且郵箱地址包含@company.com
的用戶。你可以使用以下LDAP過濾器:
(&
(age>30)
(mail=*@company.com)
)
這個過濾器使用了與運算符&
來組合兩個條件:年齡大于30歲和郵箱地址包含@company.com
。只有同時滿足這兩個條件的用戶才會被返回。