Pin*_*ave 5 c# ldap active-directory
我在 C# 中使用 LDAP 目录服务通过一些过滤条件从 LDAP 搜索用户。我想提供多个 OR 过滤条件。例如名字、姓氏、电话等。当我提供所有过滤器值时它工作正常,但当我只提供一个或两个过滤器值时会出错。
这是我正在使用的示例代码:
var LdapSearcher = new DirectorySearcher(RootDomain,
"(&(objectclass=user)(sn=" + lastName.Trim() + ")(givenName=" + firstName.Trim() + "))");
Run Code Online (Sandbox Code Playgroud)
当我同时提供 sn 和 givenName 值时,我得到了结果。但是,这是一个 OR 搜索,用户将输入 lastName 或 FirstName。
如何在 LDAP DirectorySearcher 中应用 OR 过滤器。?
X30*_*61X 12
您需要使用|运算符。根据您提供的情况,您的条件是:
objectclass 必须等于“用户”snORgivenName必须等于提供的值假设用户提供了名称“John Smith”。您的过滤器应如下所示:
(&(objectClass=user)(|(sn=Smith)(givenName=John)))
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |