Возникла проблема получения законченой информации о пользователе.

akerman

Новичок
Возникла проблема получения законченой информации о пользователе.

Доброго времени суток!
Возникла проблема получения законченой информации о пользователе.
AD по запросу возвращает для каждого пользователяследующий перечень полей:
PHP:
Array
(
    [objectclass] => Array
        (
            [count] => 4
            [0] => top
            [1] => person
            [2] => organizationalPerson
            [3] => user
        )
    [cn] => Array
        (
            [count] => 1
            [0] => Влад Ильницкий
        )
    [sn] => Array
        (
            [count] => 1
            [0] => Ильницкий
        )
    [c] => Array
        (
            [count] => 1
            [0] => RU
        )
    [l] => Array
        (
            [count] => 1
            [0] => Москва
        )
    [st] => Array
        (
            [count] => 1
            [0] => Центральный
        )
    [description] => Array
        (
            [count] => 1
            [0] => Сотрудник ИТ-отдела
        )
    [telephonenumber] => Array
        (
            [count] => 1
            [0] => 111-11-11
        )
    [givenname] => Array
        (
            [count] => 1
            [0] => Влад
        )
    [distinguishedname] => Array
        (
            [count] => 1
            [0] => CN=Влад Ильницкий,CN=Users,DC=kleo,DC=local
        )
    [instancetype] => Array
        (
            [count] => 1
            [0] => 4
        )
    [whencreated] => Array
        (
            [count] => 1
            [0] => 20080516091319.0Z
        )
    [whenchanged] => Array
        (
            [count] => 1
            [0] => 20080602150042.0Z
        )
    [displayname] => Array
        (
            [count] => 1
            [0] => Влад Ильницкий
        )
    [usncreated] => Array
        (
            [count] => 1
            [0] => 14035
        )
    [memberof] => Array
        (
            [count] => 1
            [0] => CN=Авим,CN=Users,DC=kleo,DC=local
        )
    [usnchanged] => Array
        (
            [count] => 1
            [0] => 49433
        )
    [name] => Array
        (
            [count] => 1
            [0] => Влад Ильницкий
        )
    [objectguid] => Array
        (
            [count] => 1
            [0] => 98528943-1E85-40DA-B0F5-44C1A65EB6F0
        )
    [useraccountcontrol] => Array
        (
            [count] => 1
            [0] => 4719232
        )
    [primarygroupid] => Array
        (
            [count] => 1
            [0] => 513
        )
    [objectsid] => Array
        (
            [count] => 1
            [0] => S-1-5-21-3178670032-2216636358-3773741941-1117
        )
    [samaccountname] => Array
        (
            [count] => 1
            [0] => vlad-avim
        )
    [samaccounttype] => Array
        (
            [count] => 1
            [0] => 805306368
        )
    [userprincipalname] => Array
        (
            [count] => 1
            [0] => [email][email protected][/email]l
        )
    [objectcategory] => Array
        (
            [count] => 1
            [0] => CN=Person,CN=Schema,CN=Configuration,DC=kleo,DC=local
        )
    [mail] => Array
        (
            [count] => 1
            [0] => [email][email protected][/email]
        )
    [manager] => Array
        (
            [count] => 1
            [0] => CN=Антон Воронов,CN=Users,DC=kleo,DC=local
        )
    [homephone] => Array
        (
            [count] => 1
            [0] => 222-22-22
        )
)
но если посмотреть в консоли, то можно увидеть, что перечень полей и закладок( адрес, телефоны, организация и т.д.) гораздо шире...
хотелось бы узнать, у тех кто сталкивался, как получить эти данные.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
но если посмотреть в консоли, то можно увидеть, что перечень полей и закладок( адрес, телефоны, организация и т.д.) гораздо шире...
хотелось бы узнать, у тех кто сталкивался, как получить эти данные.
Никто не сталкивался.
Укажи
перечень полей
при получении
законченой информации о пользователе
 

akerman

Новичок
Необходимо получить значения полей:
Улица, Индекс, комната, Заметка, Мобильный телефон, Факс...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
akerman
Стандартная проблема.
Она возникает из-за пиратской виндовс.
Купи лицензию должно помочь.
 

akerman

Новичок
Автор оригинала: Mr_Max
akerman
Стандартная проблема.
Она возникает из-за пиратской виндовс.
Купи лицензию должно помочь.
хмм...
достаточно вероятное объяснение, но не утешительное...
осталось только уговорить руководство поставить лицензионный сервер...
в любом случае, спасибо за ответ, ты первый кто предложил какое-то решение...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
akerman
хмм...
достаточно вероятное объяснение, но не утешительное...
осталось только уговорить руководство поставить лицензионный сервер...
в любом случае, спасибо за ответ, ты первый кто предложил какое-то решение...
Стой!
Вообще-то это была шутка.

Решить твою задачу / или помочь решением со столь скудным описанием тебе вряд-ли помогут.
Посмотри по коду где встречаются у тебя те данные, что ты получаешь, в приведенном тобой списке.
Добавь нужные поля те, что ты видишь из консоли.
 

akerman

Новичок
а что тут описывать?:confused:
стоит windows server 2003 sp1, на нём apache 2.2.8, под ним php 5.2.6., и сбоку mssql server 2005...
настроеные DNS server и Active Directory, в которой, собственно, и хранятся данные, заполняющие все поля свойств пользователя (около сотни полей)...
Но получить удаётся, только указанные выше (28 полей), далее читаем заголовок топика и комментарий, делаем вывод, что нужно получить остальные, если не 70, то хотя бы эти: Улица, Индекс, комната, Заметка, Мобильный телефон, Факс...
 

Ralph

Дикий столяр
класс...

Нечто из серии :

- "А у меня машина не заводится.Уже и там,и сям пробовал подкрутить-результата нет"

- "А где и что именно ты пытался подкрутить ?"

- "Блин,да что здесь непонятного,я же ясно написал,что и тамсям...И описывать там нечего-Жигули 10-й модели с 1.6 литровым инжектором..."

:)
 

akerman

Новичок
Очень смешно, и главное, всё по делу...

Стандартное подключение:
PHP:
$query="(&(objectClass=user)(objectCategory=person)(cn=*))";
$dns="kleo.local";
$base_dn="dc=kleo,dc=local";
$search_dn="cn=users,dc=kleo,dc=local";
$ad=ldap_connect($dns,3268);
IF($ad){
    ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ad, LDAP_OPT_REFERRALS, 1);
    $ad_bind=ldap_bind($ad,$user_name."@".$dns,$password);
	IF($ad_bind){
		$ad_search=ldap_list($ad,$search_dn,$query,array(),0,0,0,1);
		IF($ad_search){
			$ad_search_count=ldap_count_entries($ad,$ad_search);
			IF($ad_search_count){
				$ad_search_result=ldap_get_entries($ad,$ad_search);
				print_r($ad_search_result);
			}
			ELSE{
				echo("Поиск результатов не дал!");
			};
		}
		ELSE{
			echo("Неверно заданы параметры поиска!");
		};
	}
	ELSE{
		echo("Ошибка авторизации!");
	};
}
ELSE{
	echo("Невозможно установить соединение с Active Directory!");
};
пользвателю делегировано максимальное кольчество прав, на чтение любых полей и любое редактирование...

-~{}~ 04.06.08 03:03:

проблема всё ещё актуальна...
неужели никто ничего предложить не может?

-~{}~ 06.06.08 14:04:

проблема решена...
купил лицензионный windows...
 

akerman

Новичок
Автор оригинала: Alexandre
только в этом???
Нет, это была шутка...
Проблема заключалась в методе подключения:
PHP:
$ad=ldap_connect($dns,3268);
Указан не стандандартный "389", который можно не указывать, а дублирующий порт "3268", как было рекомендовано в одном из топиков мануала на php.net.
В результате, поиск возвращал записи с "урезаным" набором полей (листинг приведён выше).
Вариант соединения с сервером без указания номера порта решил проблему.
PHP:
$ad=ldap_connect($dns);
 
Сверху