为了账号安全,请及时绑定邮箱和手机立即绑定

获取dn后PHP LDAP二次查询

获取dn后PHP LDAP二次查询

PHP
猛跑小猪 2022-01-08 17:19:49
我正在向我的一个仪表板添加身份验证。我相信我的设置有点独特。我们使用服务帐户来获取用户的 DN,此查询按预期工作。然后我们使用新的 dn 而不是服务帐户进行第二次绑定。这也有效,因此从技术上讲,此时用户已正确验证。我试图在成功绑定后执行第二个 ldap_search 作为我从第一个查询中提取的 dn。不幸的是,这给了我之前 ldap_search 的结果。这是我不明白的。if($bind = @ldap_bind($ldap, $ldap_dn, $adminpass)) {    // valid    echo "bound to ldap<BR>\n";    $filter = "(&(objectclass=user)(samaccountname=$user))";    $attr = array("dn, password, samaccountname");    $dn = "DC=CORP,DC=COMPANY,DC=com";    $result = ldap_search($ldap, $dn, $filter, $attr) or exit("Unable to search LDAP server");    $entries = ldap_get_entries($ldap, $result);    // Now build second query to bind and authenticate as user.    $ldap_dn_bind = $entries["0"]["dn"];    echo $ldap_dn_bind;    if($ubind = @ldap_bind($ldap, $ldap_dn_bind, $password)) {        echo "bound as $user - $ldap_dn_bind<BR>\n\n"; // Works        $u_attr = array("description, physicaldeliveryofficename, postaladdress, st, postalcode, title, telephonenumber, mobile, samaccountname, givenname, sn, company, displayname, employeetype, mail, manager, employeeID, KMADescription, terminationdate");        $u_result = ldap_search($ldap, $dn, $filter, $u_attr) or exit("Unable to search LDAP server");        echo "ldap search<BR>\n";        $u_entries = ldap_get_entries($ldap, $u_result);        echo "print u_entries";        print_r($u_entries);        echo "done";    } else {        die("failed to authenticate user");       }这一行:    $u_result = ldap_search($ldap, $dn, $filter, $u_attr) or exit("Unable to search LDAP server"); 似乎可以按预期工作,并且执行 ldap 搜索没有错误。但是,$u_entries 包含与 $entries 相同的信息,这就是我遇到问题的地方。我正在尝试获取有关用户的详细信息并将它们插入到本地数据库中(如果它们尚不存在)。
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

我之前遇到过同样的问题,请检查您的 LDAP 服务器是否允许外部连接。

如果您使用电子邮件,请检查您的 $dn 变量,仅在 @ 符号后输入内容

还要确保您的管理员凭据

这个链接也帮助我更多地理解它:https : //github.com/Adldap2/Adldap2-Laravel/issues/224注意我使用 Laravel


查看完整回答
反对 回复 2022-01-08
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

我的属性数组不正确,根据定义 ldap_search 将始终返回 DN。问题已解决。


查看完整回答
反对 回复 2022-01-08
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信