2016-04-30 5 views
0

Мне нужно искать пользователей в активной директории и применять фильтр 'contains' для двух конкатенированных свойств. Так должно быть что-то вроде:DirectorySearcher содержит фильтр по двум свойствам

(&(objectClass=user)(property1 + " " + property2=*keyword*)) 

Можно ли достичь этого с помощью DirectorySearcher?

+0

Что не поиск этого свойства1 содержит ключевое слово ИЛИ property2 содержит ключевое слово? –

+0

Это не сработает, например. если свойство1 является «abc», свойство 2 является «def», а ключевым словом является «abc d». –

+0

Удалил мой ответ. Теперь я понял. – C4u

ответ

1

Нет, вы не можете делать никаких конкатенаций в фильтрах LDAP.

Но вы могли бы разделить его и проверить, если либо свойство содержит ключевое слово:

(&(objectClass=user)(|(property1=*keyword*)(property2=*keyword*))) 

Обратите внимание, что любые запросы, которые используют звездочку в начале можно сделать поиск выполнять очень медленно, так как без индексов может для этого.

Документация по созданию LDAP-запросов - here.

+0

Будет ли это медленнее, чем поиск всех пользователей и сравнение локально? –

+0

Возможно, нет ... –

Смежные вопросы