LDAP OR条件 - 无效的过滤器

时间:2014-02-11 09:03:30

标签: c# ldap

我开发了一个小应用程序,它从Active目录中读取用户信息。 在应用程序的开头,我使用了下面的过滤器

search.Filter = "(&((&(objectCategory=Person)(objectClass=User)))(displayName=*" + username + "*))";

这很好。

现在,我正在为用户提供一个选项,可以根据用户名或办公室或标题字段检索员工详细信息。

我用来获取详细信息的查询如下,但不起作用。抛出和异常

“搜索过滤器无效。

(&((&(objectCategory=Person)(objectClass=User)))(|((displayName=*" + username + "*)(l = *" + location + "*)(title=*" + title + "*))))";

示例:根据位置撤消员工的详细信息:Hyderabad 运行时查询看起来像这样

(&((&(objectCategory=Person)(objectClass=User)))(|((displayName=**)(l = *hyder*)(title=**)))

搜索过滤器无效。

1 个答案:

答案 0 :(得分:1)

我认为,由于你的意图不明确,你所寻找的更像是:

(及(objectCategory =人)(objectClass的=用户)(|(的displayName = SAM )(L = 位置)(标题= 标题< / em>的)))

Which could be visualized as:
(&
    (objectCategory=Person)
    (objectClass=User)
    (|
        (displayName=*sam*)
        (l=*location*)
        (title=*title*)
    )
)

当然,您需要输入代码参数而不是显示的值。