2013-03-19 58 views
1

我已经发现了一些问题,我的LDAP服务器,我不能用我的perl脚本绑定它,这里是脚本:为什么我不能在Perl代码中绑定我的LDAP服务器?

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服务器用户登录名,并且其格式与此相同。

回答

8

由于您的错误

80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext错误,数据52E,v1db1在search.pl线16条,线路522

“数据52E”根据this page是“无效凭证”。

可能与你在一个双引号字符串中使用\6,这将试图逃脱六,而不是,如我想象的,代表反斜杠和六。因此,将其更改为:

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

单引号q()将避免插值,你可以改变它的分隔符来匹配任何字符串你报价,例如q!foo(bar)!

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

附注:您是否真的应该在此发布您的登录信息?

+0

感谢您的帮助伴侣!它现在的工作:)。不用担心,我改变了我的代码的一些行 – user2186299 2013-03-19 12:35:29

+1

@ user2186299不客气。如果这回答您的问题,您可以点击旁边的复选标记将其标记为已接受。 – TLP 2013-03-19 12:37:35

相关问题