unboundid LDAP SDK如何让所有用户和排除部门
问题描述:
我的示例代码unboundid LDAP SDK如何让所有用户和排除部门
Filter searchFilter = Filter.create("(sAMAccountType=805306368)");
SearchRequest searchRequest =
new SearchRequest(advanceBaseDnTxt.getText(), SearchScope.SUB, searchFilter,
ldapAttributeSet);
SearchResult searchResult = lcon.search(searchRequest);
难道这还不够程序来检索所有用户以及如何排除部门也?
答
要否定一个LDAP过滤器的属性,看看这个页面:http://www.ldapexplorer.com/en/manual/109010000-ldap-filter-syntax.htm
(!(department=<NUMBER TO EXCLUDE>))
应采用
如果您需要在多个属性进行筛选,从你的例子,你需要具有sAMAccountType=805306368
每一个条目并且不以department=<NUMBER TO EXCLUDE>
,所以所述过滤器将是:
(&(sAMAccountType=805306368)(!(department=<NUMBER TO EXCLUDE>)))
+0
非常感谢您的回答 –
'“(&(sAMAccountType = 805306368)((省= )))“'? – Esteban
@Esteban谢谢。 (sAMAccountType = 805306368)和(objectCategory = user)之间又有什么区别? –
与'SELECT * FROM table WHERE accountType =“foo”'和'SELECT * FROM table WHERE rowType =“bar”'相同。它过滤2个不同的属性。从属性名称我假设您使用ActiveDirectory,并且这些属性是特定的AD,这不是LDAP相关的。 (如果objectCategory指objectClass,则它是一个LDAP属性,用于指定条目的类型及其定义:例如,哪些属性可用) – Esteban