Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


LDAP


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеПт, 28-Мар-2008 8:07    Заголовок сообщения: LDAP
Цитата

Попробовала написать клиента на PHP для LDAP сервера (AD). Вот код добавляющий новую запись в Active Directory:

php:
  1.  
  2. $AD_SERVER = "controllerpc";
  3. $AD_DOMAIN = "domainname.com";
  4. $AD_DOMAIN_CN = "ou=Users,dc=domainname,dc=com";
  5. $LOGIN = "Администратор@domainname.com";
  6. $PASS = "domainpassword";
  7.  
  8. $user=array();
  9. $user["samaccountname"]="anyaccountname";
  10. $user["givenname"]="anygivenname";
  11. $user["initials"]="INS";
  12. $user["sn"]="mysurname";
  13. $user["displayname"]="Display name";
  14. $user["name"]=$user["displayname"];
  15. $user["userprincipalname"] = $user["samaccountname"]."@".$AD_DOMAIN;
  16. $user["objectclass"] = array("top","person","organizationalPerson","user");
  17. $user["userpassword"] = "qwerty";
  18. $user["userAccountControl"] = "544";
  19.  
  20. $dn=$user["displayname"].",".$AD_DOMAIN_CN;
  21.  
  22. $ad=ldap_connect("ldap://".$AD_SERVER) or die("ERROR!");
  23. ldap_set_option($ad,LDAP_OPT_PROTOKOL_VERSION,3);
  24. ldap_set_option($ad,LDAP_OPT_REFERALS,0);
  25. $bd=ldap_bind($ad,$LOGIN,$PASS);
  26. ldap_add($ad,$dn,$user);
  27.  


В ответ на это ПХП выдает следующее:
Warning: ldap_add() [function.ldap-add]: Add: No such object in...
В чем может быть проблема уважаемые форумчане?
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПт, 28-Мар-2008 12:11 
Цитата

ИМХО, надо бы так: $dn="cn=".$user["displayname"].",".$AD_DOMAIN_CN;
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеПт, 28-Мар-2008 19:23 
Цитата

DrPass,
это была опечатка с моей стороны. Разумеется я перед дисплэйнэйм "cn=" поставила, в итоге та же самая ошибка.
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПт, 28-Мар-2008 20:22 
Цитата

Ну а группа ou=Users,dc=domainname,dc=com вообще в каталоге существует? Нигде очепяток в имени не допустила?
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеСб, 29-Мар-2008 9:46 
Цитата

DrPass,
Существует то существует, только та ли группа которую я имею в виду? Как я поняла ou - это имя каталога 2ого уровня (1ого - сам домен), в случае AD - это Users, Computes, Builtin, Domain Controllers и т.д. или нет? Видишь ли, я не работала раньше с LDAP на уровне программирования, а вся найденная в Инете документация по LDAP "с нуля" в общем оказалась немного странная, с одной стороны сначала дается определение LDAP, а потом сразу дается пример с использованием строки DN, предварительно лишь максимально кратко пояснив что такое ou и dc лишь в данном случае. Никакого подробного описания того, как строится DN, все возможные ее параметры (а не только использованные в приводимом примере - ou, dc и т.д.), универсальны ли они (ou, dc, ...) для всех LDAP серверов, или же только для AD и для приводимого примера и т.д.
Короче из найденной мной документации приходится изучать программирование под LDAP лишь на конкретном примере, анализируя код.
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСб, 29-Мар-2008 11:42 
Цитата

Там, в принципе, ничего хитрого...
ou - это Organizational Unit, группа в каталоге. Возможно, в случае AD оно будет иметь немного другой вид:
ou=Users,ou=domainname,dc=domainname,dc=com

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеВс, 06-Апр-2008 11:41 
Цитата

создала пробный OU под шаровым названием 123 - к нему подключилась, а вот к существующему Users почему то нет.
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100