使用ldap列出来自用户的组

问题描述 投票:3回答:2

我真的很熟悉LDAP,只是在我的php服务器和我的广告服务器之间建立了连接。我成功地验证了用户身份。现在我想列出用户所在的所有群组,看他是否是管理员(或者可能有其他方式?)。

到目前为止我有这个:

    $ldap = ldap_connect("192.168.1.108");
    if ($ldap && $bind = @ldap_bind($ldap, $name."@foobar.com", $pw)) {
        // ldap_search and ldap_get_entries here i guess, but how?
    }

我已经通过阅读php.net上的手册尝试了ldap_search,但我根本无法让它工作。有人可以告诉我如何让它工作吗?

php ldap
2个回答
4
投票

您可能想查看ldap_get_entries功能。下面可能是一些代码可以帮助你解决我曾经用于扫描会员资格的问题。 member可能在您的配置上有所不同,所以如果您遇到错误,我建议打印整个$data阵列。希望是你的起点。

// Users
$query = ldap_search($ldap, "cn=Users, dc=test, dc=local", "cn=*");
// Read all results from search
$data = ldap_get_entries($ldap, $query);

// Loop over 
for ($i=0; $i < $data['count']; $i++) {
    print_r($data[$i]['member']);
    echo "\n\n";    
}

4
投票

我得到了这篇文章:http://www.php.net/manual/en/ref.ldap.php#99347非常感谢Aaron。

© www.soinside.com 2019 - 2024. All rights reserved.