Похоже, вам нужно будет использовать другой подход.
Кратковременный однократный прием-прием
Это (ваш код выше), если вы хотите отправить короткое сообщение и отключиться сразу же, когда закончите.
blockquote>Посмотрите на пример для Долгоживущего соединения в документации и, пожалуйста, дайте мне знать, если эти модификации работают для вас. Удачи!
Я думаю, что Вы хотите, чтобы это больше было похоже (&(ou=Personal)(ou=FOO)(o=FOO)(dc=foo)(dc=com))
. Но Вы не ясны вообще на том, что Вы хотите точно, таким образом, я не могу сделать фильтр для Вас.
Отредактированный для добавления: я предполагаю, что это - то, что Вы хотите сделать: (|(ou=Personal)(ou=FOO))
Причина состоит в том, что Вы не обеспечиваете синтаксически корректные строки фильтра, но части DN. Я не могу предположить, что это работает в Браузере Ldap - я просто судил меня без успеха.
Первые два являются корректными строками фильтра. Они фильтруют на атрибуте отдельного объекта в" ({атрибут} = {значение})" вид. Первое ("ou=Personal") возвратило бы любой OU под названием "Персональный" на Вашей поисковой базе.
Если Вы объясняете более подробно, что Вы пытаетесь найти, что я могу, вероятно, сказать Вам, в каком выражении фильтра Вы нуждаетесь.
Запишите фильтр, который соответствует RFC 2254, и затем посмотрите то, что происходит. Вам не нужен сложный запрос, Вы хотите один атрибут для каждой записи при одном ответвлении. Посмотрите на attrs аргумент в пользу метода поиска.