1

我发现我的 ldap 服务器有问题,我无法将它与我的 perl 脚本绑定,这是脚本:

use strict;
use Net::LDAP;

my $ldap = "";
$ldap = Net::LDAP->new("iis.aulia.net");
my $mesg = "";
$mesg = $ldap->bind("CN=app-audev-adpead,OU=Applications,OU=Special,OU=Users
,OU=FRA,DC=iis,DC=aulia,DC=net", password => "=3\6dsdKDsH30z&B/'Bub00");

die $mesg->error() if $mesg->code();
$mesg = $ldap->unbind;

它总是向我展示:

80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext 错误,数据 52e,v1db1 在 search.pl 第 16 行,第 522 行

我在后面放错组合了$mesg = $ldap->bind吗?那"CN=app-audev-adpead"是我的 ldap sever 用户登录,其格式与此相同。

4

1 回答 1

8

带着你的错误

80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext 错误,数据 52e,v1db1 在 search.pl 第 16 行,第 522 行

根据此页面的“数据 52e”是“无效凭据”。

可能与您\6在双引号字符串中使用有关,这将尝试转义六个,而不是像我想象的那样表示反斜杠和六个。所以改成:

password => q(=3\6dsdKDsH30z&B/'Bub00)

单引号q()将避免插值,您可以更改其分隔符以匹配您引用的任何字符串,例如q!foo(bar)!.

您的绑定字符串中还有一个换行符,这可能很重要,也可能不重要。

作为旁注:您真的应该在这里发布您的登录信息吗?

于 2013-03-19T12:11:28.810 回答