在Java中获取LDAP模式

时间:2010-10-20 20:35:33

标签: java ldap openldap

我正在尝试获取LDAP实体的架构。我被建议使用Novell的开源LDAP库,这似乎相当不错。我找到了一个名为GetAttributeSchema的例子,听起来非常好,但我认为我的参数设置不正确或者其他东西。

我得到的结果是:

 ou      ( 2.5.4.11 NAME (  'ou' 'organizationalUnitName' ) DESC 'Standard LDAP attribute type' SUP 'name' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'RFC 2256' )
objectClass      ( 2.5.4.0 NAME 'objectClass' DESC 'Standard LDAP attribute type' EQUALITY 'objectIdentifierMatch' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'RFC 2256 (XXX: syntax should be ...38)' )

我期待的结果是[产生影响]:

cn
affiliations
streetaddress
phone
fax
etc

只是想知道对于LDAP专家来说,我缺少什么或者我应该要求的是什么。

谢谢!

==============================

解决方案:

ServiceableLDAPConnection lc = takeConnection();
LDAPSchema schema = lc.fetchSchema(lc.getSchemaDN());
Enumeration<?> enumeration = schema.getAttributeNames();

我发现此网站特别有用:http://www.go4expert.com/forums/showthread.php?t=4814

==============================

1 个答案:

答案 0 :(得分:0)

您正在获取完整的架构定义。通常在cn = schema的LDAP查询中,您将整个模式作为一个需要解析的对象。