我想检索存储在 LDAP 服务器中的用户 DN,保持原始字符大小写。例如,假设我的服务器中的 DN 是“cn=Bob, o=MyOrg”。我想使用“cn=bob, o=myorg”查询服务器并检索原始的“cn=Bob, o=MyOrg”,结果。
DirContext.getAttributes(dn) 方法可以返回一组属性,但这不包括 DN 本身。另一方面,DirContext.search() 使用 getNameInNamespace() 返回具有此信息的 SearchResult。不幸的是,搜索表达式似乎不允许在 DN 上搜索,这就是我所拥有的。
我知道我可以通过首先使用 getAttributes() 检索唯一属性,然后在 search() 中使用此属性值来实现此目的。但这会导致 2 个连接。另外,我需要确保我有一个可以 search() 的唯一而不是 null 属性。