通过LDAP我试图获取组中所有用户的电子邮件地址。下面是我得到的代码,我无法让它工作。 我得到的错误是:搜索过滤器错误。
if ($ldapconn) {
echo "jep";
echo "<br />";
$basedn = "DC=lab,DC=kuhlmann-its,DC=local";
$classname = "TAI2";
$filter = "(&(objectClass=user)(memberOf=OU=TAI2,OU=Accounts,OU=BBS_Students,OU=BBS,OU=EDUNET))";
$attributes = array("givenName", "sn", "mail");
$search = ldap_search($ldapconn, $filter, $attributes);
$info = ldap_get_entries($ldapconn, $search);
}
这是我第一次使用LDAP和Active Directory,我不知道所有功能是如何工作的。我想知道为什么我的ldap_search()无效。
提前致谢。
答案 0 :(得分:0)
我注意到参数序列不正确。
$search = ldap_search($ldapconn, $filter, $attributes);
如果您查看官方文档,您会注意到上面的行应该是
$search = ldap_search($ldapconn, $basedn, $filter, $attributes);
请参阅官方php.net文档中的ldap_search。