C# Active Directory LDAP搜索筛选器或运算符语法
我正在使用C#中的LDAP目录服务,使用一些筛选条件从LDAP中搜索用户。我想提供多个或筛选条件。例如firstName、lastName、telephone等。当我提供所有筛选器值时,它可以正常工作,但当我只提供一个或两个筛选器值时,它会出错 以下是我正在使用的示例代码:C# Active Directory LDAP搜索筛选器或运算符语法,c#,active-directory,ldap,C#,Active Directory,Ldap,我正在使用C#中的LDAP目录服务,使用一些筛选条件从LDAP中搜索用户。我想提供多个或筛选条件。例如firstName、lastName、telephone等。当我提供所有筛选器值时,它可以正常工作,但当我只提供一个或两个筛选器值时,它会出错 以下是我正在使用的示例代码: var LdapSearcher = new DirectorySearcher(RootDomain, "(&(objectclass=user)(sn=" + lastNa
var LdapSearcher = new DirectorySearcher(RootDomain,
"(&(objectclass=user)(sn=" + lastName.Trim() + ")(givenName=" + firstName.Trim() + "))");
当我同时提供sn和givenName值时,就会得到结果。但是,它是一个OR搜索,用户将输入lastName或FirstName
如何在LDAP DirectorySearcher中应用或筛选?您需要使用
操作符。根据您提供的信息,您的条件是:
必须等于“user”objectclass
或sn
必须等于提供的值givenName
(&(objectClass=user)(|(sn=Smith)(givenName=John))
等于和等于或进行谷歌搜索。。实际上,网上有很多关于如何做到这一点的例子。。如果你想要更简单的方法。。googlePrincipalContext
示例以及C#