在 ldap 中搜索特定条目

Search for a specific entry in ldap

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

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

CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2

我想做的是过滤我的搜索以仅显示具有该名称的条目,因为目前我正在获取所有条目:

SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
                 Filter.createEqualityFilter("objectClass", "person"));

我在 springboot 中使用 ldap unboundid。

要查找 "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);

-吉姆