OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  Пример работы с LDAP на Perl
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...

↓  На эту страницу ссылаются:

Get Firefox!
[~]

Пример работы с LDAP на Perl

Требующиеся модули: Net::LDAPS (пакет ldap_perl). Пример подключения к серверу LDAP (анонимного и с авторизацией), поиска и изменения в базе LDAP. Для работы по протоколам ldap (а не ldaps) используется модуль Net::LDAP.

#!/usr/bin/perl -w
use strict;
use Net::LDAPS;


my $ldap_server='some-domain.ru';
my $base='ou=People,dc=some-domain,dc=ru';
my $user='some-user';
my $pwd='xxxx';


# Anonymous bind for dn search
my $ldap = Net::LDAPS->new($ldap_server) or die "$@";
my $mesg = $ldap->bind ;
die "Error: ",$mesg->error if ($mesg->is_error);

$mesg = $ldap->search ( base   => $base,
                        filter => "(uid=$user)",
                        attrs => ['uid']
                      );
$mesg->code && die $mesg->error;
($mesg->count != 1) && die "More than one user with uid $user ?!?!?";


my $dn = $mesg->entry(0)->dn;
print "Find DN $dn\n";


$ldap->unbind;

system "stty -echo";
print "Pwd:"; $pwd=<>; chomp $pwd;
system "stty echo";
print "\n";

# Bind as user
$ldap = Net::LDAPS->new($ldap_server) or die "$@";
$mesg = $ldap->bind($dn,password=>$pwd);
die "Error: ",$mesg->error if ($mesg->is_error);

my $result= $ldap->modify($dn, replace=>{'telephoneNumber'=>['1234']});

$result->code && warn "Failed to modify entry: ", $result->error ;

$ldap->unbind;


Дата создания: 2006-05-24 13:08:04 (Фетисов Н. А. (naf))
Последнее изменение: 2006-05-24 13:08:04 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 1


  Не показывать комментарии



Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]