我在LDAP的一个条目中有一些objectClasses和dc和ou属性及其值。 我试着读取ou属性,但我不能用下面的代码得到它。 我可以正确获得直流值。 我知道我必须控制它是否为空,但为什么“ou”可能会在LDAP中出现。
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());
答案 0 :(得分:1)
OU上可能无法使用dc值。 同样,DC上可能没有ou值。
-Jim
答案 1 :(得分: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"
。