Операторы "<" и ">" не поддерживаются. Также поддерживается оператор "~=" (приблизительное равенство), но в Active Directory он не находит своего применения. Элемент "<значение>" - значение атрибута AD. Значение не чувствительно к регистру и не должно быть заключено в кавычки. Символ шаблона "*" допустим всегда, кроме случаев. когда <Атрибут AD> - атрибут DN (уникальное имя), например distinguishedName, manager, directReports, member и memberOf. Если атрибут DN, то допустим только оператор равенства и необходимо указать полное уникальное имя значения (или "*" для объектов с любым значением атрибута). DN не нужно заключать в круглые скобки. Если атрибут принимает несколько значений, то условие выполняется при выполнении условия фильтра любым значением. Пример (cn=Василий Пупкин) Данный фильтр возвращает все объекты с CN (общее имя) равным строке "Василий Пупкин". Условия фильтра могут быть объединены следующими операторами.
Пример. cn должно быть "Василий Пупкин" или givenName равно "Василий", sn равно "Пупкин": (|(cn=Василий Пупкин)(&(givenName=Василий)(sn=Пупкин)))
Условия могут заключаться в скобки, но нужно их корректно закрывать.
Спецификация LDAP-фильтра присваивает специальное значение следующим символам:
* ( ) \ NUL
Символ NUL это ASCII 00. В LDAP-фильтрах данные символы описываются как "\" с последующим шестнадцатеричным (Hex) представлением символа.
Для поиска объектов с общим именем "Василий Вася*) Пупкин", LDAP-фильтр имеет вид:
(cn=Василий Вася\2A\29 Пупкин) Закрытые круглые скобки не требуют использования кодов, например условие (cn=Василий(Вася)Пупкин) является корректным. Также не отображаемые или символы других алфавитов должны быть заменены кодами. Пример кодов и символов:
В начало
При фильтрации по атрибуту класса objectСategory, LDAP производит преобразование значения для более удобного составления фильтров. objectСategory - атрибут DN, например "cn=person,cn=Schema,cn=Configuration,dc=MyDomain,dc=com". Возможное условие фильтра (objectCategory=cn=person,cn=Schema,cn=Configuration,dc=MyDomain,dc=com) Active Directory позволяет использовать следующее короткое написание (objectCategory=person) Таблица комбинаций objectCategory и objectClass
Нужно использовать фильтры, наиболее точно описывающие желаемый результат. Когда приходится выбирать между использованием objectCategory и objectClass, предпочтительно objectCategory, т.к. objectCategory принимает только одно значение и индексируется, а objectClass - много значений и не индексируется в Windows Server до 2008. Фильтрация с использованием objectCategory эффективнее аналогичной, но основанной на objectClass. Контроллеры домена на Windows Server 2008 индексируют objectClass. Этим можно воспользоваться, когда все контроллеры используют Windows Server 2008 или же при явном указании контроллера домена на Windows Server 2008 при запросе.
Richard Mueller edited Revision 20. Comment: Fix TOC
Richard Mueller edited Revision 18. Comment: Added tags
Richard Mueller edited Revision 17. Comment: Added tag