【问题标题】:How can i change from Ldap to Ldaps如何从 Ldap 更改为 Ldaps
【发布时间】:2021-11-03 18:36:32
【问题描述】:

我有一个可运行的代码,用于创建与在线测试服务器的 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 服务器并从活动目录中检索数据。 这个连接应该是一个 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:\xampp\htdocs\Kulinarik\ldap.php 中 ldap 例程的参数错误

为什么参数不好?

编辑

所以活动目录是受密码保护的,想要开始查询的用户没有权限。 所以我必须与系统管理员的凭据进行绑定,然后在活动目录中使用用户的凭据进行查询。

是吗?

【问题讨论】:

    标签: php ldap


    【解决方案1】:

    尝试类似:

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

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

    【讨论】:

    • $ldap_dn = $_POST["username"].",OU=EUTM,OU=Users,OU=HQ,OU=ULTIMATE,DC=ultimate,DC=local";你知道用户名必须站在前面还是后面
    • @Etzi138 我想,它通常在前面,例如:$ldap_dn = 'cn=' . $_POST["username"];
    • 我做了一个编辑也许你知道这个问题的答案?
    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    相关资源
    最近更新 更多