【发布时间】:2016-12-09 10:24:40
【问题描述】:
我有一个小问题。在工作中,我们将很快使用代理 ldap 连接到我们的 ldap。
但是,我的perl脚本以前是直接连接到ldap的,我找不到通过ldap代理连接到ldap的正确方法。
ldap 团队告诉我只需通过代理的 url 更改“my.local.ldap.org”。
但是当我这样做时,除了错误“无法在 myscript.pl 第 X 行, 第 403 行联系 LDAP 服务器”之外,我什么也得不到。
我不知所措,因为我对 perl 还很陌生。
如何通过 ldap 代理连接到我的 ldap 并获取我的数据?
这是我的 perl 代码:
#!/usr/bin/perl
use warnings;
use strict;
use Net::LDAP;
use Net::SMTP;
use MIME::Lite;
use Getopt::Std;
connect_ldap();
sub connect_ldap {
my @attributs = qw(uid subsidiary preferredLanguage);
my $ldap = Net::LDAP->new(
"my.local.ldap.org",
port => 389
) or die open (STDERR, ">&SDTOUT");
my $mesg = $ldap->bind (
"cn=app_readonly,ou=account,ou=security,o=oubase",
password => "mypassword"
);
$mesg = $ldap->search(
base => "o=oubase",
scope => "sub",
filter => "(&(objectclass=inetOrgPerson)(|(subsidiary=sub1)(subsidiary=sub2))(role=id=app_access,id=APP,*))",
attrs => [ @attributs ]
);
printf "COUNT : %s\n", $mesg->count;
foreach my $entry ($mesg->entries) {
$entry->dump;
}
print "==========================================\n";
$mesg = $ldap->unbind;
$ldap->unbind;
}
【问题讨论】: