我发现我的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服务器用户登录,其格式与此相同。
答案 0 :(得分:8)
出现错误
80090308:LdapErr:DSID-0C0903A9,评论:AcceptSecurityContext错误,数据52e,v1db1在search.pl第16行,第522行
根据this page的“数据52e”是“无效凭证”。
可能与你在一个双引号字符串中使用\6
,这将试图逃脱六个,而不是像我想象的那样代表一个反斜杠和六个。所以改成它:
password => q(=3\6dsdKDsH30z&B/'Bub00)
单引号q()
将避免插值,您可以更改其分隔符以匹配您引用的任何字符串,例如q!foo(bar)!
。
你的绑定字符串中也有一个换行符,可能有效也可能不重要。
作为旁注:您真的要在这里发布您的登录信息吗?