在ldap中搜索特定条目

在ldap中搜索特定条目,ldap,ldap-query,unboundid-ldap-sdk,Ldap,Ldap Query,Unboundid Ldap Sdk,我正在尝试根据同一条目的名称在ldap上搜索条目 我得到的搜索条目与此相似: CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2 我想做的是过滤我的搜索,只显示具有该名称的条目,因为目前我正在获取所有条目: SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB, Filt

我正在尝试根据同一条目的名称在ldap上搜索条目

我得到的搜索条目与此相似:

CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2
我想做的是过滤我的搜索,只显示具有该名称的条目,因为目前我正在获取所有条目:

SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
                 Filter.createEqualityFilter("objectClass", "person"));
我将ldap Unbounded与springboot一起使用。

要查找“CN=nameouser,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"));

你也应该考虑一个类似于:

的读法。
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);
如果您需要查找条目,则会发出类似以下内容的搜索请求:

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

但是我能找到只有用户姓名的条目吗?根据澄清更新了答案。