фильтр LDAP_search проблема с memberOf

Saratov64

Новичок
Измучился, с LDAP фильтром
итак не работает
PHP:
$filter = "sAMAccountName=test, memberOf=cn=Admins";
$result = ldap_search($ldapconn,$base,$filter);
пробовал писать фильтр с одним объектом
PHP:
$filter = "sAMAccountName=test";
все прекрасно находит.
Пробовал скобки, и пробовал такой вариант, не работает
PHP:
$filter = "(&(sAMAccountName=test) (memberOf=cn=Admins))";
в мануале http://php.net/manual/ru/function.ldap-search.php все примеры в кавычках и через запитую объекты...
подскажите, по синтаксису, что я делаю не так ?
 

AnrDaemon

Продвинутый новичок
1. Проверяй все фильтры в консоли.
2. Проверяй все фильтры по одному сначала.
 

AnrDaemon

Продвинутый новичок
Не знаю что у вас доступно под виндой… под линухом у меня ldapsearch
 

Saratov64

Новичок
Не знаю что у вас доступно под виндой… под линухом у меня ldapsearch
ура, чуток я продвинулся !!!!!!!!!!!!!!! спасибо, что навели на мысль...
запустил LDAP.exe
как вы и сказали, отдельно помучил фильтры, вроде разобрался, в первые вижу эту консоль. Все ищет. Но пока не смог понять, как сделать ldap запрос, на поиск члена группы. Является ли он членом конкретной группы.
Я смог, только отобразить, всех членов группы. УСПЕШНО!!
Прямые члены группы (memberOf=cn=Test,ou=East,dc=Domain,dc=com)
а как сюда прилепить именно аккаунт (sAMAccountType=petrov-sv)? так как не нашел у Майкрософта, такого запроса, как я понял Петров Сергей Викторович
как искать petrov-sv в группе Test там есть CN это, квич, это уже синэйм, а не сам аккаунт, под которым он логинется, в домен.
вижу это так:
(& (sAMAccountType=petrov-sv) (| (memberOf=cn=Test,ou=East,dc=Domain,dc=com) ) )
если можно образец запроса посмотреть ...
 
Последнее редактирование:

Saratov64

Новичок
ПОБЕДИЛ !!!!!!
и так на будущее, кому надо
нужно запустить, службу или консоль, как я понял, на винде она встроенная LDAP.exe
выволнить точные запросы, ФИЛЬТРЫ виндовые. Когда все заработает, перетащить в PHP
пример фильтра поиска АККАУНТА или юзера в КОНКРЕТНОЙ ГРУППЕ
;$login = тому логину, под которым заходить будете на портал
PHP:
$filter = "(&(objectCategory=person)(sAMAccountName=$login)(memberOf=cn=Admins,ou=Groups,ou=Services,ou=Test,dc=domain,dc=com))";
обращаю внимание, нужен точный путь до группы, где она находиться в Active Directory
 

AnrDaemon

Продвинутый новичок
Если по отдельности фильтры "sAMAccountType=petrov-sv" и "memberOf=cn=Test,ou=East,dc=Domain,dc=com" содержат нужные тебе данные, то вернуть пересечение этих двух списков поможет фильтр

Код:
(& (sAMAccountType=petrov-sv) (memberOf=cn=Test,ou=East,dc=Domain,dc=com))
 
Сверху