Jas*_*son 3 c# ldap active-directory
我想在某个OU中找到属于某个组成员的所有用户,因此我的过滤器看起来像这样:
(&(objectClass的=用户)(的memberOf =*OU =东西,OU =是的,DC = dev的,DC =本地))
有没有办法使用通配符在memberof属性上运行directorysearcher?
您需要将要搜索的OU设置为DirectorySearcher的根目录:
DirectoryEntry myOU = new DirectoryEntry("OU=something,OU=yep,DC=dev,DC=local");
DirectorySearcher srch = new DirectorySearcher(myOU);
srch.SearchScope = SearchScope.Subtree;
Run Code Online (Sandbox Code Playgroud)
然后只使用objectCategory = person作为你的过滤器 - 我会使用objectCategory,它是单值和索引的,因此速度快而不是objectClass(它是多值的,没有索引):
srch.Filter = "(objectCategory=person)";
Run Code Online (Sandbox Code Playgroud)
如果您仍想要检查组中的成员资格以及作为OU的一部分,您可以将其作为部分成员添加到过滤器:
srch.Filter = "(&(objectCategory=person)(memberOf=cn=Group,ou=yep,dc=dev,dc=local))";
Run Code Online (Sandbox Code Playgroud)
不完全确定通配符 - 一般来说,LDAP搜索过滤器确实支持通配符,但我有点犹豫是否在RDN中使用通配符,例如此组DN.
渣
| 归档时间: |
|
| 查看次数: |
16516 次 |
| 最近记录: |