ldap查询搜索筛选器中“&”的java意义
我正在尝试查询LDAP/ActiveDiRecordy服务器中的用户和组信息。我正在使用搜索过滤器,我无法找到足够的文档。我有兴趣了解“什么”&在下面的查询中执行
String searchFilter = "(&(objectClass=group)(objectSid=" + sid + "))";
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
NamingEnumeration<SearchResult> results = ctx.search(ldapSearchBase, searchFilter, searchControls);
有人可以解释并指出有助于理解如何查询ldap以获取任何类型的infomraiton的文档吗
# 1 楼答案
正如EJP在问题的注释部分所述,符号只是一个“AND”操作符。在评估记录集中的任何记录时,必须满足所有条件
searchFilter分配语句的作用是,它将根据您提供的筛选器执行LDAP搜索。它的搜索筛选器将返回与组类型对应且其objectsID=的所有对象
在这种情况下,将返回与目录中的组相对应的所有记录,这些记录的sID是作为sID传递的记录
对于您的情况,更简单地说,searchFilter=(具有sID的组:)
文档部分与您正在使用的目录服务相关。如果您使用的是Microsoft的Active Directory服务,请参阅Active Directory: LDAP Syntax Filters文档