0

LDAP のエントリに、いくつかの objectClasses と dc および ou 属性とその値があります。ou 属性を読み取ろうとしましたが、以下のコードでは取得できません。DC値を正しく取得できます。null であるかどうかを制御する必要があることはわかっていますが、LDAP で行われているにもかかわらず、「ou」が null になる可能性があるのはなぜですか。

NamingEnumeration answer = ctx.search(searchBaseDn, filter, ctls);
           try
                {   
                    while (answer.hasMore())
                    {
                        SearchResult sr = (SearchResult) answer.next();
                        OrganizationPojo organizationPojo = new OrganizationPojo();
                        organizationPojo.setOrgDc((String)sr.getAttributes().get("dc").get());
                        organizationPojo.setOrgOu((String)sr.getAttributes().get("ou").get());
4

2 に答える 2

1

DC値はOUで使用できない場合があります。同様に、ou値はDCでは使用できない場合があります。

-ジム

于 2012-09-12T12:49:21.110 に答える
0
ctx = new InitialDirContext(env);
           String[] attrIDs = { "dc", "objectClass","ou" };

           SearchControls ctls = new SearchControls();
           ctls.setReturningAttributes(attrIDs);

           String filter = "(&(dc=*) (objectClass=organizationalUnit) (ou=*))";

           NamingEnumeration answer = ctx.search(dn, filter, ctls);

attrIdsが含まれている必要があります"ou"

于 2012-09-13T11:15:26.610 に答える