将自定义属性添加到ApacheDS服务器

时间:2012-11-14 15:53:05

标签: java ldap apacheds ldif

我使用ApacheDS Server作为LDAP服务器。我已经创建了一个自定义属性,可以在我定义的LDAP结构中使用。我创建了一个模式,在Schema中我定义了一个ObjectClass和一个名为dateOfBirth的属性。我导出了Schema并将其导入ApacheDS的DIT。模式已导入,可以查看dateOfBirth属性。

但是,当我尝试添加它时,我会收到警告:

Warning according to the schema attribute dateOfBirth is not allowed.

Do you still want to add the new value?

dateOfBirth用于存储有关Person的信息。 LDAP中的Person对象类称为inetOrgPerson ObjectClass。添加dateOfBirth以使用它的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

无需定义dateOfBirth属性。 RFC2985中描述的辅助objectClass naturalPerson已使用generalizedTimeSyntax允许此属性。将naturalPerson objectClass添加到您的条目中,然后添加符合dateOfBirth的{​​{1}}属性。

generalizedTimeSyntax

等等。

更新:RC2985中的示例objectClass定义。

dn: cn=myPerson,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: naturalPerson
dateOfBirth: 20121115121912.810Z

答案 1 :(得分:2)

您可以使用Apache directory studio在Apache DS中添加自定义对象和属性(不应该存在)。

步骤

  1. 打开Apache Directory Studio。
  2. 转到架构编辑器透视图。
  3. 右键单击项目窗格并创建新的架构项目。
  4. 选择离线/在线并提供项目名称。
  5. 打开连接
  6. 右键单击架构窗格并创建具有唯一名称的新架构(例如test123)。
  7. 在架构下可以为这些属性创建新的属性和对象。(查看现有对象以供参考)
  8. 完成所有操作后,可以导出为.ldif文件(比如说test.ldif)
  9. 现在转到 LDAP浏览器透视图。
  10. 右键点击 ou = schema 对象,然后点击导入为LDIF。
  11. 导入从架构项目导出的LDIF文件(步骤8)。
  12. 成功完成并刷新ou = schema对象,您可以看到添加的对象。