LDAP, networkAddress .. Как искать по этому полю из Perl ??

Обсуждение технических вопросов по продуктам Novell

LDAP, networkAddress .. Как искать по этому полю из Perl ??

Сообщение skoltogyan » 12 мар 2006, 19:29

NW6.5 (edir и ldap)
Необходимо найти пользователя (из перл-скрипта), который залогинен с адреса:
10.1.1.1
Пониаю, что надо искать где-то так
$fltr = "(&(objectclass=user)(networkAddress=........

но не понимаю - в каком формате искать то, что ищу..
попробывал ldapbrowser-ом посмотреть как выглядит это поле...
НО в нем какая-то абракодабра...

Может кто уже эту задачу решал ?
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Андрей Тр. aka RH » 13 мар 2006, 05:53

Естьт вот такой вот ТИД -

Can the IP address returned by an LDAP query be decoded? - TID10087142http://support.novell.com/cg ... 087142.htm

однако обещанного там скрипта я как-то не обнаружил. Хотя, мне помнится, где-то такое было .. пример перекодировки адреса из того формата в нормальный текстовый. Наверняка при желании можно найти.

P.S. List Address 2.0 - http://www.novell.com/coolsolutions/tools/14325.html ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение cooler13 » 14 мар 2006, 21:15

Пять копеек к той же задаче!
Делаю поиск в eDir через LDAP.
Мой IP-адрес в LDAP выглядит так :(networkaddress=\31\23\AC\10\00\71). (первые два hex-значения \31\23 -- непонятно что, но для всех юзеров в Дереве эта приставка одинаковая; остальные четыре означают 172.16.0.113). Такой фильтр срабатывает замечательно.
Хотел сделать поиск ну например по такому фильтру (networkaddress=\31\23\AC\10\00*). Получаю от LDAP ошибку "INAPPROPRIATE_MATCHING", что приблизительно значит "Filter type not supported for the specified attribute". Что-бы такого придумать, даже не знаю. Ведь формально фильтр ПРАВИЛЬНЫЙ, если верить RFC2254 (http://rfc.net/rfc2254.html).
cooler13
 
Сообщения: 8
Зарегистрирован: 01 ноя 2005, 13:13
Откуда: Украина, Донецк

Сообщение cooler13 » 14 мар 2006, 21:21

На PHP преобразование адреса 172.16.0.113 в формат для поиска в LDAP выглядит где-то так:
Код: Выделить всё
$ip="172.16.0.113";

$ippart=explode(".",$ip);
$filter="(networkAddress=\\31\\23\\"; // наша приставка загадочная
$filter.=sprintf("%02X",$ippart[0])."\\".sprintf("%02X",$ippart[1])."\\";
$filter.=sprintf("%02X",$ippart[2])."\\".sprintf("%02X",$ippart[3]).")";


В итоге $filter содержит значение "(networkaddress=\31\23\AC\10\00\71)"

На perle почти так-же : ).

А КАК ИСПОЛЬЗОВАТЬ ФИЛЬТР "(networkaddress=\31\23\AC\10\00*)"??? ГУУРУУ, ПОДСКАЖИТЕ !!! : )
cooler13
 
Сообщения: 8
Зарегистрирован: 01 ноя 2005, 13:13
Откуда: Украина, Донецк


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron