如何从Ldap更改为Ldaps

  • 本文关键字:Ldaps Ldap php ldap
  • 更新时间 :
  • 英文 :


我有一个功能代码,它创建了一个到在线测试服务器的Ldap连接。

<?php
$ldap_dn = "uid=".$_POST["username"].",dc=example,dc=com";
$ldap_password = $_POST["password"];
$ldap_con = ldap_connect("ldap.forumsys.com");
ldap_set_option($ldap_con, LDAP_OPT_PROTOCOL_VERSION, 3);
if(@ldap_bind($ldap_con,$ldap_dn,$ldap_password))
{
$_SESSION['username'] = $_POST["username"];
header("Location: Startseite.php");
}
else
{
echo "Invalid Credential";
}
?>

现在我想更改代码以连接到本地Windows服务器并从active directory中检索数据。此连接应该是Ldaps。这是我试过的代码。

<?php
$ldap_dn = "uid=".$_POST["username"].",dc=ULTIMATE,dc=local";
$ldap_password = $_POST["password"];
$ldap_con = ldap_connect("ldaps://192.168.***.**:636,OU=ULTIMATE,DC=ultimate,DC=local");
ldap_set_option($ldap_con, LDAP_OPT_PROTOCOL_VERSION, 3);
if(@ldap_bind($ldap_con,$ldap_dn,$ldap_password))
{
$_SESSION['username'] = $_POST["username"];
header("Location: Startseite.php");
}
else
{
echo "Invalid Credential";
}
?>

我得到以下错误

警告:ldap_connect((:无法创建会话句柄:第10行上C:\examplep\htdocs\Kulinarik\ldap.php中ldap例程的参数错误

为什么它是一个坏参数?

编辑

因此,Active directory受Passwort保护,想要启动查询的用户没有权限。因此,我必须使用Sysadmin的凭据进行绑定,然后使用用户的凭据在active directory中进行查询。

是这样吗?

尝试以下操作:

$ldap_con = ldap_connect("ldaps://192.168.***.**:636");

没有,OU=ULTIMATE,DC=ultimate,DC=local部分。

最新更新