
JNDIを使ってActiveDirectoryの情報を参照するプログラムを作っています。そこで、いろいろとネットでの情報などを参考に下記のようにSearchでOUを指定した形では参照できるようになりました。
DirContext ctx = new InitialDirContext(env);
// 実認証用のDNの検索
SearchControls cons = new SearchControls();
// 検索スコープの指定
cons.setSearchScope(SearchControls.SUBTREE_SCOPE);
// 検索実行(フィルタに引数で指定したユーザIDを指定)
NamingEnumeration res = ctx.search("ou=営業部,dc=test,dc=local","cn=testuser02 test2",cons);
LDAPブラウザーなどは接続できればOUなどを指定しなくてもすべてのOUやCNの情報などすべてを読み出してくるので、できればそのように作りたいと思っています。
OUを指定しなければDC配下のすべてのOUの中からSearch出来るかと思いましたが、OUを指定しないとエラーになってしまいます。すべてのOUの中から特定のキーに該当する情報を抽出することや、どういうOUが登録されているのか抽出したりするような事はJNDIでできないでしょうか?