我发现我的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;
Run Code Online (Sandbox Code Playgroud)
它总是告诉我:
80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext错误,数据52e,v1db1在search.pl第16行,第522行
之后我把错误的组合$mesg = $ldap->bind?这"CN=app-audev-adpead"是我的ldap服务器用户登录,并以与其相同的格式编写.
有你的错误
80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext错误,数据52e,v1db1在search.pl第16行,第522行
根据该页面的"数据52e" 是"无效凭证".
可能与你使用\6双引号字符串,它将试图逃脱六,而不是,如我所想,代表反斜杠和六.所以改成它:
password => q(=3\6dsdKDsH30z&B/'Bub00)
Run Code Online (Sandbox Code Playgroud)
单引号q()将避免插值,并且您可以更改其分隔符以匹配您引用的任何字符串,例如q!foo(bar)!.
你的绑定字符串中也有一个换行符,可能有也可能不重要.
作为旁注:您真的要在这里发布您的登录信息吗?