我试图根据相同条目的名称在ldap上搜索条目。
我得到的搜索条目与此类似:
CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2
我想要做的是过滤我的搜索只显示具有该名称的条目,因为目前我得到所有条目:
SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
Filter.createEqualityFilter("objectClass", "person"));
我正在使用ldap unboundid和spring boot。
要查找“CN = nameOfTheUser,OU = firstGroupName,...,DC = domain1,DC = domain2”或您知道DN正确的任何条目,您需要以下内容:
SearchRequest searchRequest = new SearchRequest("CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2", SearchScope.BASE, Filter.createEqualityFilter("objectClass", "person"));
您还应该考虑类似于以下内容的READ:
LDAPConnection.read("CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2",
java.lang.String[], LDAPSearchConstraints)
如果您需要查找条目,则搜索请求类似于:
Filter andFilter = new Filter.createANDFilter(
Filter.createEqualityFilter("objectClass", "person"),
Filter.createEqualityFilter("cn", "nameOfTheUser"));
SearchRequest searchRequest = new SearchRequest("new SearchRequest(ldapConfig.getBaseDn()", SearchScope.BASE, andFilter);
-Jim