2013-03-19 60 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

相關問題