这是我第一次使用PHP 5 LDAP库,我有点困惑。如果有人能就以下问题给我一些澄清,我将非常高兴:
首先让我给出我的配置:
LDAP服务器:Windows server 2013 Active Directory
主机名:winad
域:域。本地
IP:1.1.1.1(为了解释)
用于绑定的Windows帐户:管理员
从开发机器Ping主机名工作
从开发机器工作 Ping ip
从开发机器Ping winad.domain.local失败
开发环境:带有WAMP 的Windows 8 Professional
PHP:5.3.13
PHP LDAP模块已加载并正在运行
Apache LDAP模块未加载
场景:
我正在尝试使用管理员帐户针对Windows AD对用户进行身份验证。这是我的代码示例:
我将在以下各种场景中使用这些变量:
$hostname = "winad";
$dnex= "uid=Administrator, ou=Users, dc=domain, dc=local";
有效代码:
$conn = ldap_connect($hostname);
$bind = ldap_bind($conn, "DOMAIN'Administrator", "password");
失败的代码:
$conn = ldap_connect($hostname);
$bind = ldap_bind($conn, $dnex, "password");
错误:无效凭据
现在我的问题是,当我指定dn时,为什么它会失败?
假设我有location1.domain.local和location2.domain.local,并且我只想与location2绑定,如果不指定dn,这似乎是不可能的。
有人能指出正确的方法吗?
经过更多的搜索,我发现了以下帖子:
PHP LDAP连接
AlexC的回复正确回答了我的问题。
希望这会有所帮助。