PHP ldap_search выдает ошибку «Неверный поисковый фильтр» (-7) - PullRequest
1 голос
/ 10 октября 2019

У меня проблемы с ldap_search в PHP. Приведенный ниже запрос дает ошибку LDAP "-7" - Фильтр неверного поиска.
Фрагмент кода:

...
$base_dn = "ou=Example GSM,dc=example,dc=com";
$search_filter = "(userPrincipalName=example\name.surname)";
$bind_attr = "userPrincipalName";
$result = @ldap_search($ldapconn, $base_dn, $search_filter, array("dn", $bind_attr));

Есть ли у вас идеи, что я делаю неправильно?

I 'используя Microsoft AD и PHP 7.2.18.

1 Ответ

0 голосов
/ 10 октября 2019

Полагаю, что \ необходимо экранировать, чтобы фильтр работал.

Вы сможете получить то, что хотите, используя этот способ определения search_filter:

$search_filter = "(userPrincipalName=" . ldap_escape('example\name.surname', '', LDAP_ESCAPE_FILTER) . ")";

Для получения дополнительной информации ознакомьтесь с документацией по адресу https://www.php.net/ldap_escape

Также ознакомьтесь с комментариями пользователей по адресу https://www.php.net/manual/en/function.ldap-escape.php#118127, которые, по-видимому, описывают вашу точную проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...