我正在编写一个 perl 程序来读取、写入、添加、更新和删除 LDAP 服务器中的条目。到目前为止,我得到的是使用 LDIF 写入、添加、更新、删除并读取以 DSML 形式返回条目。
现在我的问题是 - 是否可以写入、添加、更新、删除返回 DSML?代码示例将不胜感激。
我的搜索看起来像这样,它就像一个魅力,
my $dsml = Net::LDAP::DSML->new(output => $oio, pretty_print => 1 )
or die ("DSML object creation problem using an output file.\n");
$dsml->start_dsml();
$ldap->search(
base => "applicationName=HSS_ESM,nodeName=jambala",
scope => "sub",
filter => $intext,
attrs => ['*'],
callback => sub {
my ($mesg,$entry) =@_;
$dsml->write_entry($entry)
if (ref $entry eq 'Net::LDAP::Entry');
}
);
$dsml->end_dsml();
我的写入、添加、更新、删除看起来像这样,我希望它在成功或错误时返回 DSML,
# Create LDIF
my $ldif = Net::LDAP::LDIF->new($fh, "r", onerror => 'undef' );
# Loop over the entries in LDIF
while ( not $ldif->eof ( ) ) {
my $entry = $ldif->read_entry( );
if ( $ldif->error ( ) ) {
# handle error
} else {
# do stuff
my $res = $entry->update($ldap);
if ($res->code != 0) {
# handle error
}
}
}
$ldif->done ( );
谢谢你。