使用ldap列出来自用户的组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ldap列出来自用户的组相关的知识,希望对你有一定的参考价值。
我真的很熟悉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,但我根本无法让它工作。有人可以告诉我如何让它工作吗?
答案
您可能想查看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 "
";
}
另一答案
我得到了这篇文章:http://www.php.net/manual/en/ref.ldap.php#99347非常感谢Aaron。
以上是关于使用ldap列出来自用户的组的主要内容,如果未能解决你的问题,请参考以下文章