java - 在 LDAP 中搜索向同一经理报告的用户

标签 java ldap

我正在尝试从 Java 查询 LDAP,以使所有用户向同一经理报告。

当我使用 searchFilter 进行查询时 - String searchFilter = "(&(objectClass=user)(sAMAccountName="+ search + "))";

我得到的输出为manager=CN=Eve\, Adam,OU=something,OU=something,OU=StandardUser,OU=User,DC=something,DC=something,DC=something

但是,当我的搜索查询为 String searchFilter = "(&(objectClass=user)(manager=CN=Eve*,OU=StandardUser,OU=User,DC=something,DC=something,DC=something ))”;

或者

with String searchFilter = "(&(objectClass=user)(manager=CN=Eve*))";

我没有得到输出。

以下是我尝试获取数据的方式。

String searchBase = "DC=something,DC=something,DC=something";
String returnedAtts[] = {"*"};
SearchControls searchCtls = new SearchControls();
searchCtls.setReturningAttributes(returnedAtts);
NamingEnumeration answer = ctxGC.search(searchBase, searchFilter, searchCtls);

请注意 - DC=something 肯定有一定的值(value)。

最佳答案

客户端正在尝试使用带有 DN 的子字符串过滤器 ((manager=CN=Eve*))。 DN 没有子字符串匹配规则,因此子字符串过滤器不能与 DN 一起使用。在搜索过滤器中指定 DN 或作为搜索请求中的基础对象时,LDAP 客户端必须使用完整 DN,例如,cn=user,ou=people,dc=example,dc=com.

另请参阅

关于java - 在 LDAP 中搜索向同一经理报告的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19113950/

相关文章:

filter - 编写 LDAP 查询过滤器

java - 如何使用 Spring 从 ldap 检索只读属性

java - 使用 JNDI 从 LDAP 服务器搜索(选择)任何数据

Python LDAP "Can' t 联系 LDAP 服务器”

php - 安全网络应用问题

java - 正确使用抽象方法

java - 无法在 java 中获得与 Adob​​e 中的公钥显示相匹配的公钥显示

java - 未找到命名查询

java - 无法为 AxonFramework 创建 MongoEventStorageEngine Bean

java - 删除包含数组的列表中的重复项