gpt4 book ai didi

c# - Active Directory LDAP 搜索过滤器或运算符语法

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:02 25 4
gpt4 key购买 nike

我在 C# 中使用 LDAP 目录服务,通过一些过滤条件从 LDAP 中搜索用户。我想提供多个 OR 过滤条件。例如 firstName、lastName、telephone 等。当我提供所有过滤器值时它工作正常,但当我只提供一个或两个过滤器值时出错。

这是我使用的示例代码:

var LdapSearcher = new DirectorySearcher(RootDomain, 
"(&(objectclass=user)(sn=" + lastName.Trim() + ")(givenName=" + firstName.Trim() + "))");

当我同时提供 sn 和 givenName 值时,我得到了结果。但是,这是一个 OR 搜索,用户将输入 lastName 或 FirstName。

如何在 LDAP DirectorySearcher 中应用 OR 过滤器?

最佳答案

您需要使用 | 运算符。根据您提供的内容,您的条件是:

  • objectclass 必须等于“用户”
  • sngivenName 必须等于提供的值

假设用户提供了姓名“John Smith”。您的过滤器应如下所示:

(&(objectClass=user)(|(sn=Smith)(givenName=John)))

关于c# - Active Directory LDAP 搜索过滤器或运算符语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com