0

ディレクトリ コンテキスト内のオブジェクト クラスでサポートされているすべての属性を検出する方法を見つけようとしています。ディレクトリ コンテキストのメソッドを使用しようとしましgetattributes()たが、これは入力された属性のみを表示します。すべてのオブジェクト クラスのすべての属性ではなく、特定のオブジェクト クラスのみでサポートされているすべての属性を発見することに関心があります。以下は、私が既に試したコード スニペットです。

//アプローチ1

        System.out.println("using bindings.......");

        SearchControls searchControls = new SearchControls();
        searchControls.setSearchScope( SearchControls.OBJECT_SCOPE );
        searchControls.setReturningAttributes( new String[]
            { "objectClasses" } );
        NamingEnumeration<SearchResult> results = conn.getInitialContext().search( "cn=schema", "(ObjectClass=*)", searchControls );

        SearchResult result = results.next();
        Attributes entry = result.getAttributes();

        javax.naming.directory.Attribute objectClasses = entry.get( "objectClasses" );
        System.out.println( objectClasses );

        System.out.println("................................");

//アプローチ 2

        DirContext tedClasses = (conn.getInitialContext().getSchemaClassDefinition(entryName));

        // Enumerate the class definitions
        NamingEnumeration namingEnum = tedClasses.search("", null);
        System.out.println("attrs are:");
        while (namingEnum.hasMore()) {
            System.out.println(namingEnum.next());
        }

conn.getInitialContext()ディレクトリコンテキストを与える場所

4

1 に答える 1

-1

指定して ldapsearch を実行できますかobjectclass=x(x は必要なオブジェクトクラスです)。

そのため、人のオブジェクトクラスを検索します。

ldapsearch -h <host> -p <port> -D <useraccount> -w \? -b <search string> objectclass=person
于 2014-06-24T17:00:16.030 に答える