【问题标题】:LDAP Syntax/Semantics: Filter vs. Base DN?LDAP 语法/语义:过滤器与基本 DN?
【发布时间】:2010-11-04 21:53:47
【问题描述】:

这可能很愚蠢,但我对 LDAP 还是很陌生。所以我希望有人能帮我一把。

我正在使用 Apache Directory Studio 进行搜索,但我很困惑何时应该使用过滤器,或者何时应该将过滤器分成两部分,将一部分用作过滤器,另一部分用作搜索库.

这是我尝试过滤掉一个组的示例。

Filter: CN=JohnTestGroup,OU=TECH,DC=lab,DC=ing
Base:   DC=lab,DC=ing

这产生了零结果。我意识到也许我是多余的,因为基础的一部分在过滤器中,所以我去掉了过滤器中的那部分。

Filter: CN=JohnTestGroup,OU=TECH
Base:   DC=lab,DC=ing

这仍然没有产生任何结果。所以我尝试了这个:

Filter: CN=JohnTestGroup
Base:   OU=TECH,DC=lab,DC=ing

我将OU 参数移到Base 中。这有效,但我不明白为什么第一次或第二次尝试没有。有人愿意告诉我一些知识吗?

这可能是语法/语义问题,所以如果有人能指出我的资源,我非常愿意阅读更多相关信息。

【问题讨论】:

  • 你给出的范围是什么?

标签: syntax ldap filtering semantics ldap-query


【解决方案1】:

在此处了解范围:http://www.idevelopment.info/data/LDAP/LDAP_Resources/SEARCH_Setting_the_SCOPE_Parameter.shtml

如果您将搜索范围设置为 SUBTREE(2 和 3),则可能有 1 个变体开始工作,但按子树搜索的工作速度较慢

【讨论】:

【解决方案2】:

我认为您误解了过滤器的工作原理。它是键=值对。

以(objectClass=iNetOrgPerson)为例。

如果您希望过滤器找到一个 DN,那么您可以选择一个识别特征,例如 CN,然后过滤 (CN=JohnTestGroup) 或者可能是 (mail=John@mail.net)。

基础告诉 LDAP 服务器从哪里开始查找,正如 seriyPS 在他/她的回答中指出的那样,SCOPE 是下一个问题。服务器应该搜索多深,因为这会增加开销和性能问题。子树在概念上很简单。继续从这里往下看,直到你用完可以看透的树。

这就是为什么你的最后一个有效的原因。

现在,如果您想查找特定对象并且知道其 DN,则可以针对特定 DN 的基执行 ENTRY 范围查询。

【讨论】:

  • 谢谢!你最近的补充帮助我理解了很多,尤其是最后一句话。它让我在谷歌上搜索"ldap search by dn",我发现了这个:openldap.org/lists/openldap-software/200503/msg00519.html,这确实巩固了你在最后一句话中的意思。
  • @John 我们的目标是取悦。 (至少在使用便盆时...)
猜你喜欢
  • 1970-01-01
  • 2022-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 2018-04-21
相关资源
最近更新 更多