ApacheDS中inetOrgPerson对象的成员属性



我使用ApacheDS作为LDAP服务器。我需要一些组来管理不同应用程序的权限。例如,一个名为"jira-users"的组,它可以登录到jira。因此,我需要一个属性来存储用户的成员组。我使用名为inetOrgPerson的objectClass,它似乎适合存储用户。

在我过去工作的Active Directory中,我记得有一个名为memberOf的属性。似乎这是AD特定的,因为inetOrgPerson类有一个名为成员的属性。根据文档,它的作用是一样的:存储用户所属的组。但是,当我尝试将此添加到inetOrgPerson对象时,我在Apache Directory studio中得到以下错误:

警告!这个属性在方案中是不允许的!你还想用它吗?

当我尝试按yes时,我得到了以下异常:

Fehler beim ausf hren des LDIF—[LDAP:错误码65]—OBJECT_CLASS_VIOLATION: failed for MessageType: MODIFY_REQUES java.lang.Exception: [LDAP:错误码]65 - OBJECT_CLASS_VIOLATION: failed for MessageType: MODIFY_REQUEST留言ID: 262修改请求对象:'cn=Testuser,ou=user,dc=example,dc=com'修改[0]操作:添加修改成员:cn=Testgruppe,ou=user,dc=example,dc=comorg.apache.directory.api.ldap.model.message.ModifyRequestImpl@868031e2:ERR_277属性成员未在条目的objectClasses中声明cn = Testuser, ou =用户,dc =例子,dc = com)org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkResponse (DirectoryApiConnectionWrapper.java: 1268)在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.access 9美元(DirectoryApiConnectionWrapper.java: 1236)在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper 4.美元运行(DirectoryApiConnectionWrapper.java: 716)在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor (DirectoryApiConnectionWrapper.java: 1163)在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkConnectionAndRunAndMonitor (DirectoryApiConnectionWrapper.java: 1099)在org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.modifyEntry (DirectoryApiConnectionWrapper.java: 738)在org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord (ImportLdifRunnable.java: 515)在org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif (ImportLdifRunnable.java: 272)在org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif (ExecuteLdifRunnable.java: 157)在org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run (ExecuteLdifRunnable.java: 123)在org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run (UpdateEntryRunnable.java: 59)在org.apache.directory.studio.connection.ui.RunnableContextRunner 1.美元运行(RunnableContextRunner.java: 116)在org.eclipse.jface.operation.ModalContext ModalContextThread.run美元(ModalContext.java: 119)

[LDAP:错误码65 - OBJECT_CLASS_VIOLATION: failed for .MessageType: MODIFY_REQUEST消息ID: 262修改请求对象:'cn=Testuser,ou=user,dc=example,dc=com'修改[0]操作:添加修改成员:cn=Testgruppe,ou=user,dc=example,dc=comorg.apache.directory.api.ldap.model.message.ModifyRequestImpl@868031e2:ERR_277属性成员未在条目的objectClasses中声明cn = Testuser, ou =用户,dc =例子,dc = com]

我尝试添加它,就像这里描述的http://morenews.blogspot.de/2010/12/adding-active-directory-properties-to.html与ldapadd。这给了我没有错误,当我看ou=schema,cn=other,ou=objectClasses我看到我插入的值。但是当我创建一个新的inetOrgPerson时,没有可能使用它!我做错了什么?

配置memberOf叠加

•sudo -i

•slapcat -n 0 | grep olcModuleLoad

•if modules then

  1. ldapmodify -Q -Y EXTERNAL -H ldapi:
  2. dn: cn =模块{0},cn =配置
  3. changetype:修改
  4. 添加:olcModuleLoad
  5. olcModuleLoad: memberof.la
  6. 回车

修改条目"cn=module{0},cn=config";应该显示

•如果没有模块,则

  1. ldapadd -Y EXTERNAL -Q -H ldapi:
  2. dn: cn =模块,cn =配置
  3. <
  4. cn:模块/gh>
  5. 对象类:olcModuleList
  6. olcModulePath:/usr/lib/ldap(查找memberof。(找到正确的路径)
  7. olcModuleLoad: memberof.la
  8. 回车

添加新条目"cn=module,cn=config"应该显示

•按CTRL c

•slapcat -n 0 | grep olcModuleLoad

0 olcModuleLoad: {0}back_mdb

0 olcModuleLoad: {1}memberof.la

应用memberOf叠加

ldapadd -Y EXTERNAL -H ldapi:///

dn: olcOverlay = memberof olcDatabase = {1} mdb, cn =配置

对象类:olcOverlayConfig

对象类:olcMemberOf

olcOverlay: memberof

olcMemberOfRefint:真

回车

添加新条目"olcOverlay=memberof,olcDatabase={1}mdb,cn=config"应该显示

按ctrl c

实际上,member属性类型并不"存储用户所属的组",相反,它包含列表或组中对象的专有名称。

inetOrgPerson对象类没有也不应该包含任何成员;属性,groupOfNames做,甚至需要它,因为它表示一组命名对象,存储在"member"属性。

(见RFC 4519, RFC 2798)

我猜你想要的是添加memberOf属性inetOrgPerson。为此,您需要定义"memberof"属性类型并在模式中编辑inetOrgPerson对象类。必须先添加属性类型,因为对象类引用了它。

(参见:在Apache DS中添加模式元素)

相关内容

  • 没有找到相关文章

最新更新