![]() |
LDAP-поиск
Здравствуйте. Не совсем хорошо (а точнее почти никак) разбираюсь в работе с ActiveDirectory через PHP. Суть моей задачи в том что бы при выходе авторизовать пользователя и в сессию положить его имя, id и группы в которые он входит. Используя LDAP я смог нормально подключится и проверить существования пользователя (функцией ldap_bind). А когда стало нужно извлечь данные о пользователе то я запоролся. Вот используемый код :
(Имя пользователя "one", пароль "123abc!", имя машины "dipl", имя домена "diplom.local") PHP код:
"Warning: ldap_search() [function.ldap-search]: Search: No such object in ... on line ..." Помогите пожалуйста, третий день мучаюсь. Буду благодарен за любые подсказки! P.S. в редакторе запросов AD нужный мне запрос выглядит вот так: "(&(objectCategory=person)(objectClass=user)(name= one))" |
при настройке LDAP я сталкивался с access-list. В которых прописывается доступ к полям! Так вот если неправильно этим пользоваться, то вполне вероятно получить такой результат! Советую капать в этом направлении!
|
Это AD, если биндится и пользователя находит, значит дело не в "access-list". Советую поставить Softerra LDAP Browser, подключиться к AD с теми реквизитами которые ты использщуешь в PHP и произвосети поиск из неё. Она покажет шаблон поиска, который можно скопировать и использовать в функции... Там же и поля поглядишь и со структурой получше познакомишься. Сам долго поначалу тыкался когда парочку служб интегрировал..
|
demond, спасибо за отзыв. Я в гугле видел подобную проблему. Там всё решилось через разрешение доступа хоста. У меня немного другое. Действительно проблема была в запросе.
Dronga! Спасибо огромное! Всё скачал, разобрался. Запрос Цитата:
выдал всё что мне нужно! Наконец-то я всё решил =))) Спасибо! сейчас просто методом подбора найду что требуется =) P.S. а почему я выбрал +10 репутации Дронги, а прибавилось всего 3? =О |
Dronga, а где мне в древе нужно порыться что бы узнать группу пользователя по его логину? Покопался сейчас, но могу только найти имя и фамилию (в списке членов определённой группы), а вот логин никак =(
|
Извиняюсь, туплю =)
|
Всё, сделал окончательно. Вдруг кому пригодится. Вот запрос:
$sr=ldap_search($g_res,"CN=Users,DC=diplom,DC=loca l", "samaccountname=one", array("*") ); показываем все данные по пользователю указанного домена (diplom.local) =) |
Народ. Нужна ваша помощь. Я новичек в этом деле. Дело обстоит так. Вот код
PHP код:
http://s57.radikal.ru/i158/0904/15/40342e9d1ccc.jpg вот ссылка скришота ldap-каталога. |
1. Попробуй заменить имя контроллера на его IP.
2. Скорее всего проблема связана с неправильной установкой соединения. Смотри с версиями протокола какие есть завязки. И смотри специфичные для твоего LDAP-сервера примочки. Какой LDAP-сервер используется? |
| Время: 20:25 |