首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >distinguishedName的ldap筛选器

distinguishedName的ldap筛选器
EN

Stack Overflow用户
提问于 2013-06-26 01:39:32
回答 3查看 27K关注 0票数 10

我正在使用以下代码成功查询Active Directory中的用户:

代码语言:javascript
复制
$filter = (&(objectCategory=person)(samaccountname=someusername));
$fields = array("samaccountname","mail","manager","department","displayname","objectGUID");

$user = ldap_search($ldapconnection, $baseDn, $filter, $fields);

生成的数组为manager属性提供了以下值:

代码语言:javascript
复制
CN=McBossy\, Boss,OU=Users,OU=CentralOffice,DC=ds,DC=example,DC=com

对我来说,这看起来像一个distinguishedName。但当我试图查询经理的记录时,

代码语言:javascript
复制
$filter = (&(objectCategory=person)(dn='CN=McBossy\, Boss,OU=Users,OU=CentralOffice,DC=ds,DC=example,DC=com'));

$manager = ldap_search($ldapconnection, $baseDn, $filter, $fields);

查询失败,返回PHP Warning: ldap_search(): Search: Bad search filter

我尝试了许多可能性,包括不同的引号,更多的括号,使用distinguishedName而不是dn,等等。

我做错了什么?获得经理记录的正确方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-26 02:14:24

dn不是属性。筛选器中只能使用属性类型、OID和名称。

在获取manager属性时,要获取作为管理器的DN的属性,请使用manager属性的值作为搜索请求中的基本对象。将搜索范围设置为BASE,过滤器设置为(&)(objectClass=*),并请求所需的属性。然后将搜索请求发送到服务器并解释响应。

票数 14
EN

Stack Overflow用户

发布于 2020-09-19 02:45:11

这是个老问题,但我不认为它得到了明确的回答。您可以按DN搜索AD中的用户、计算机或组,但必须正确转义,因此请使用内置函数。

代码语言:javascript
复制
$ldap_to_find = ldap_escape($manager_dn, null, LDAP_ESCAPE_FILTER);
$ldap_filter  = "(distinguishedName={$ldap_to_find})";

根据我的测试,添加类或类别没有速度差异,可能是因为DN是一个惟一的位置,而不是一个真正的属性。

票数 0
EN

Stack Overflow用户

发布于 2020-10-20 18:16:55

我不确定我是否完全理解了你的问题。例如,如果LDAP中有一个条目

代码语言:javascript
复制
dn: uid=John Smith,ou=people,dc=example,dc=org
objectClass: inetOrgPerson
cn: John Smith
sn: smith
uid: jsmith
uid: John Smith
mail: j.smith@example.com
ou: accounting

如果您要搜索其dn包含"uid=John Smith“条目,cmd将如下所示:

ldapsearch -b dc=example,dc=org -D "cn=admin,dc=example,dc=org“-LLL '(uid:dn:=John Smith)‘

https://confluence.atlassian.com/kb/how-to-write-ldap-search-filters-792496933.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17303967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档