Perl操作OpenLDAP,未测试

Perl接口

Perl 的NET::LDAP模块中包括有完整的LDAP目录访问函数,只要安装NET::LDAP就可以完成正常的LDAP目录访问;但在安装NET::LDAP模块前,必须先安装Convert::ASN1模块,该模块可以从CPAN下载。

例:

#!/usr/bin/perl

use warnings;

use strict;

use Net::LDAP;

use Net::LDAP::Util qw(ldap_error_text);

my $server = "localhost";

my $ldap = new Net::LDAP($server) ||

die("failed to connect to server.$!\n");

my $mesg = $ldap->bind("cn=Manager,dc=daifu,dc=com", password => "secret");

die ("bind failed with ",ldap_error_text($mesg->code()),"\n")

if $mesg->code();

$mesg = $ldap->search(base => "dc=daifu,dc=com", scope => "sub",

filter => "sn=*",);

die ("search failed with ",ldap_error_text($mesg->code()),"\n")

if $mesg->code();

print "Count is ",$mesg->count(),"\n";

while (my $entry = $mesg->shift_entry()) {

print "dn:",$entry->dn(),"\n";

for my $attr($entry->attributes()) {

for my $val($entry->get_value($attr)) {

print "$attr:$val\n";

}

}

print "\n";

}

操作过程实际上与C和JAVA是一样的。