似乎无法在LDAP中搜索manager属性。我想返回所有以Jane Doe为管理员的用户。任何指针将不胜感激。
$filter = "(&(objectClass=user)(objectCategory=person)(manager=*Jane Doe*))";
$result = ldap_search($ldap, $ldap_dn, $filter) or exit("Unable to search LDAP server");
$entries = ldap_get_entries($ldap, $result);
答案 0 :(得分:1)
进行更多搜索(在我的一位了不起的朋友的帮助下-感谢Scott Carter!)产生了此问题。 Answer below found here
允许使用通配符“ ”,但“ AD属性”除外 是DN属性。 DN属性的示例为distinguishedName, 经理,directReports,成员和memberOf。如果属性是DN, 那么仅允许使用等于运算符,并且您必须指定 值的完整专有名称(或所有字符的“ ”字符 具有该属性任何值的对象)。不要封闭DN值 用括号括起来(在某些文档中有误)。如果 属性是多值属性,则如果满足以下条件之一,则满足条件 属性中的值与过滤器匹配。
因此,要搜索拥有Jane Doe经理的所有成员,您必须首先具有Jane Doe的完整dn。
$filter="(&(objectClass=user)(objectCategory=person)(manager=CN=Jane Doe,OU=IT,OU=Users,OU=USA,OU=yourcompany,DC=corp,DC=yourcompany,DC=com))";
然后,您将获得想要的结果...