3

这可能很愚蠢,但我仍然对 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. 这有效,但我不明白为什么第一次或第二次尝试没有。有人愿意向我透露一些知识吗?

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

4

2 回答 2

2

在那里阅读范围:http ://www.idevelopment.info/data/LDAP/LDAP_Resources/SEARCH_Setting_the_SCOPE_Parameter.shtml

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

于 2010-11-04T22:31:17.053 回答
1

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

以 (objectClass=iNetOrgPerson) 为例。

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

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

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

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

于 2010-11-05T12:31:37.063 回答