Выражения фильтра поиска LDAP

В правилах групп пользователей на основе правил применяется синтаксис фильтра поиска LDAP.

Дополнительная информация о синтаксисе фильтра поиска LDAP приведена в документе RFC2254 - The String Representation of LDAP Search Filters (см. список связанных ссылок).

Поддерживается следующее подмножество синтаксиса фильтра поиска LDAP:

  • Оператор AND - амперсанд (&).
  • Оператор OR - вертикальная черта (|).
  • Оператор NOT - восклицательный знак (!).
  • Проверка равенства - знак равенства (=) для выражений с именем и значением.
  • Символы подстановки - звездочка (*) в начале или конце значений в выражениях с именем и значением.
Прим.: Атрибуты не должны начинаться с символов операторов AND, OR и NOT (&, | и !) и не должны содержать знака равенства (=).

Например:

(uid=testuser)
Возвращает всех пользователей, в атрибуте uid которых указано значение testuser.
(uid=test*)
Возвращает всех пользователей, значение атрибута uid которых начинается со строки test.
(!(uid=test*))
Возвращает всех пользователей, значение атрибута uid которых не начинается со строки test.
(&(department=1234)(city=Paris))
Возвращает всех пользователей, в атрибутах department и city которых указаны значения 1234 и Paris соответственно.
(|(department=1234)(department=56*))
Возвращает всех пользователей, в атрибуте department которых указано значение 1234 или значение, начинающееся с 56.
(&(department=12*)(!(department=123*)))
Возвращает всех пользователей, в атрибуте department которых указано значение, начинающееся с 12, но не с 123.

Проверка синтаксиса

В ходе создания или изменения группы пользователей на основе правил адаптер групп пользователей на основе правил проверяет синтаксис выражения фильтра поиска LDAP. Например:

Указано недопустимое правило:
Если указано недопустимое правило, то группы пользователей на основе правил возвращают соответствующее сообщение об ошибке. Однако проверка существования имен атрибутов в конфигурации пользователей не выполняется. Конфигурацию можно проверить с помощью кода, вызывающего фильтр поиска.
Указан недопустимый атрибут:
Если правило содержит недопустимое имя атрибута, то в ходе обработки участников группы пользователей на основе правил возникает ошибка. Существующие правила могут перестать работать после внесения изменений в конфигурацию атрибутов, например в случае удаления или переименования атрибута.