gpt4 book ai didi

php - 获取错误 "Can' t 联系 LDAP 服务器"使用 PHP ldap_bind 函数

转载 作者:搜寻专家 更新时间:2023-10-31 21:42:54 25 4
gpt4 key购买 nike

我必须将 Active Directory 用户与服务器绑定(bind)。我可以成功连接到服务器,但不知何故无法绑定(bind)用户。我不知道是什么原因。

以下是我的 PHP 源代码:

$basedn="dc=domain,dc=com";
echo "Connecting ...<br/>";
$ds=ldap_connect("192.XXX.XXX.XX"); // must be a valid LDAP server!
echo "connect result is ".$ds."<br/>";

if($ds){
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$lb=ldap_bind($ds,"cn=xyz,o=domain.com","password");
if ($lb) {
echo "LDAP bind successful...";
} else {
echo "LDAP-Errno: " . ldap_errno($ds) . "<br />";
echo "LDAP-Error: " . ldap_error($ds) . "<br />";
}

ldap_close($ds);
}

你能告诉我在 ldap_bind 函数中传递用户名参数的具体内容吗?请提供任何有助于我这样做的源代码?任何帮助将不胜感激。

最佳答案

我在域 Controller 上运行 Server 2008 R2,该域最初是 2003 年并且必须使用 login@domain 格式。我验证了 DN 是正确的,2008 年之前的域管理员帐户可以使用 DN 进行连接。但是,除非使用 login@domain 格式,否则非管理员不能。

现在,我的代码尝试:

$lb = ldap_bind($ds, "cn=login,o=domain.com", "密码");

然后如果没有找到,尝试:

$lb = ldap_bind($ds, "login@domain.com", "密码");

这是我对 DN 无法正常工作的原因进行故障排除时的快速修复。我建议即使您使用的是 2008,也请尝试使用 2003 格式。

关于php - 获取错误 "Can' t 联系 LDAP 服务器"使用 PHP ldap_bind 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com