元の文字の大文字と小文字を維持しながら、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 ではない属性があることを確認する必要があります。