Полная версия

OSS Group


Авторизация

  

Навигация

Текущее местоположение:  OSS Group :: Wiki :: Admin :: Пример работы с LDAP на Perl
Главное меню:   Главная   Документация   Разработка   Контакты   Поиск   Карта сайта   Wiki   Блоги
Разделы Wiki:   Admin  APT  Sandbox

Пример работы с 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


 Комментарии (0)


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



Быстрый поиск по Wiki:
И ИЛИ

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

©2006-2024 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы