没有成员的 GroupOfNames

use*_*893 7 ldap

我正在构建一个新的 LDAP 结构。我想将用于创建我的结构的 LDIF 脚本与用于创建我的用户的脚本分开。该结构必须应用于多个服务器 (DTAP),但用户将仅用于单元测试/开发。

但是当我创建我的组时,Apache DS(仅用于开发)告诉我membergroupOfNames.

ERR_279 在条目 cn=USER_ROLE, ou=groups, dc=company, dc=com 中找不到必需的属性 [member(2.5.4.31)]

更具体;我希望完成的是以下 LDIF。

### Create the group
dn: cn=USER_ROLE, ou=groups, dc=company, dc=com 
objectClass: groupOfNames 
objectClass:  top 
cn: USER_ROLE
# Not adding a member here

### Create the user
dn: uid=myUser, ou=accounts, dc=company, dc=com
objectClass: inetOrgPerson
objectClass: top
# More properties

### Add user to group
dn: cn=USER_ROLE, ou=groups, dc=company, dc=com 
changetype: modify
add: member
member: uid=myUser, ou=accounts, dc=company, dc=com
Run Code Online (Sandbox Code Playgroud)

我尝试member:在组的初始创建中添加一个空值。哪个有效,但留下一个空成员,看起来不像一个干净的解决方案。

And*_*ndy 5

groupOfNames对象必须具有一个cn属性和一个member属性(请参阅 rfc2256 或查看您的架构定义)。

我很想听听其他人的意见,但据我所知,您的选择是以下之一:

  • 浏览您的架构以查看是否存在任何其他在“MUST”限定符下没有成员属性的组类型对象,并使用它来代替groupOfNames

  • 使用您现有的解决方法

  • 查看是否有人定义了更适合您需求的不同组对象并将其添加到您的架构中

(或者这些,但不要做这些)

  • 定义您自己的自定义组对象并将其添加到您的架构中

  • 重新定义groupOfNames架构中的对象类,并将member“必须”更改为“可以”。如果你有保修,这会破坏它。