Ldap插入异常



我正在尝试向目录服务器数据库添加一个条目。这些是我插入的值:

userName=[ben@gmail.com]
driverEmail=[ben@gmail.com]
driverPassword=[ben]
firstName=[Ben]
lastName=[Hur]
newsletter=[false]

我得到了一个例外:

SEVERE: Cannot create new LDAP entry
LDAPException(resultCode=object class violation, errorMessage='Entry mwUniqueIdentifier=5f9e7597-8a5f-42b0-985b-7d196040689e,ou=People,dc=mobilewarrio
r,dc=com violates the Directory Server schema configuration because it includes     multiple conflicting structural objectclasses inetOrgPerson and mwUser
Account.  Only a single structural objectclass is allowed in an entry')

有人能告诉我里面出了什么问题吗?

您没有确切地显示如何插入这些值,所以很难太具体。然而,例外情况非常明显。

您试图同时为条目分配inetOrgPerson对象类和mwUser对象类,但这不起作用,因为它们都被定义为结构对象类,并且都不是从另一个继承的(很可能mwUser被定义为结构性对象类,因为您的模式没有将其指定为AUXILIARYABSTRACT对象类)。

根据RFC 4512:

对象或别名条目的特征是恰好有一个结构对象类超类链,该超类链具有一个作为最下级对象类的结构对象类。

有两种可能的修复方法应该涉及对LDAP模式的简单更改:

  1. 如果您希望所有mwUser对象都是inetOrgPerson对象,只需像这样声明mwUserinetOrgPerson的子对象类(取自OpenLDAP文档):

    objectclass(1.1.2.2.2名称"myPerson"DESC"我的人"SUP inetOrgPersonMUST(myUniqueName$givenName)五月myPhoto)

在这种情况下,您只需要将mwUser对象类分配给您的条目。

  1. 如果您不希望所有mwUser对象都是inetOrgPerson对象,那么通过指定它是一个辅助对象类来声明它为mixin,如下所示:

    objectclass(1.1.2.2.1名称"myPhotoObject"DESC'mixin myPhoto'辅助的五月myPhoto)

在这种情况下,必须将inetOrgPerson(或另一个结构对象类)和mwUser对象类都指定给对象。

最新更新