Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LDAP, проблемы при поиске на нескольких доменах 
:(
    Опции темы
DjDance
Дата 7.8.2008, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



Здравствуйте господа, нигде не нашел решение этой проблемы - пишу сюда.
Заранее прошу извинить, я не админ, а программер, с админством сталкиваюсь "постольку-поскольку", поэтому если некоторые фразы будут смешными - не ругайтесь. Smile

Итак, проблема.

Есть контроллер доменов (пусть будет IP 1.1.1.1 для примера).
На нем 4 домена: (для примера) DOM1 - dom1.com; DOM2 - dom2.com, ... и т.д.

DOM1 - главный домен, к нему и происходит обращение через LDAP.
Юзер под которым логинюсь - админ для этого домена.
Итак, задача довольно простая - проверка логина пользователя, и сбор данных о пользователе. Загвоздка - пользователи с разных доменов.

Итак, как вся эта фигня работает:
1. Логинюсь как админ (прописано в конфиге) на DOM1 для того, чтобы получить все права на сбор инфы в системе.
2. Проверяю существует ли юзер с логином и паролем на домене, который пользователь выбрал.
3. Собираю данные о пользователе.
4. В зависимости от принадлежности юзера к группам, раздаю ему права на фронт-енд.
5. Перенаправляю куда надо, в зависимости от прав доступа.

Проблема в пункте 3. Если пользователь вводит данные с домена DOM1 - все работает ништяк, данные собираются и т.д. А вот если пользователь вводит данные с DOM2, то аутентификация пользователя через ldap_bind проходит как и полагается (на любом домене), а вот сбор данных через ldap_search выдает пустой массив.

Почему я не могу собрать данные о пользователе на другом домене? Проверить его могу, а данные получить не могу?

Вот пример кода, как это работает: (конечно пароли и т.д. нереальные, просто для примера)

Код


   1.  //этот массив меняется в зависимости от домена, выбранного пользователем
   2.  $options = array('account_suffix' => '@dom2.com', '_base_dn' => 'DC=dom2,DC=com', 'domain_controllers' => array("1.1.1.1"), 'ad_username' => 'user', 'ad_password' => 'pass');
   3.  
   4.  $ldap=new adLDAP($options);
   5.  $ldap->user_domain = 'DOM2'; // тоже конечно динамичная переменная
   6.  
   7.  //ну тут конечно всякие проверки на пустые пароли и кучу прочей байды, это мало интересно
   8.  //ldap_connect тоже конечно есть, все это работает, ничего интересно нету чтобы писать очевидные вещи
   9.  //проверка пользователя, которая работает на любом домене
  10.  $ldap->_bind = @ldap_bind($ldap->_conn, $ldap->user_domain . '\\' . $ldap->_ad_username, $ldap->_ad_password)
  11.  
  12.  $filter="samaccountname=".$ldap->_ad_username;
  13.  $fields=array("samaccountname","mail","memberof","department","displayname","telephonenumber","primarygroupid","firstname","lastname");
  14.  
  15.  //а вот здесь она нифига не ищет, если не главный домен DOM1, а любой другой DOM2 и т.д.
  16.  $sr=ldap_search($ldap->_conn, $ldap->_base_dn, $filter, $fields);
  17.  $entries = ldap_get_entries($ldap->_conn, $sr);





Ну вот вроде все что мог сказать по поводу данной проблемы. Вроде все сделал правильно, и base_dn и т.д. И все работает на одном домене, а вот как заставить работать на других доменах - не получается. Sad

Помогите, кто может. Буду очень благодарен.
PM MAIL   Вверх
DjDance
Дата 8.8.2008, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



Никто на такое не нарывался? :(
PM MAIL   Вверх
dimavest
Дата 11.11.2011, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.11.2011
Где: Москва

Репутация: нет
Всего: нет



Цитата(DjDance @ 8.8.2008,  07:36)
Никто на такое не нарывался? :(

Я сталкивался с таким, нужна помощь?

Это сообщение отредактировал(а) dimavest - 11.11.2011, 11:01
PM MAIL WWW   Вверх
Lipetsk
  Дата 26.3.2013, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.1.2009
Где: Липецк

Репутация: нет
Всего: 5



Теперь и я с таким столкнулся
Можно завести специальных пользователей в каждом домене для подключения ими к своему домену
но такой вариант мне очень не нравится
какие еще есть варианты?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.