这是我第一次使用 PHP 5 LDAP 库,我有点困惑。如果有人能就以下问题给我一些澄清,我会很高兴:
首先让我给出我的配置:
LDAP 服务器: Windows Server 2013 活动目录
主机名: winad
域: domain.local
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 似乎是不可能的。
有人可以展示正确的方法吗?