Я создаю новую структуру LDAP. Я бы хотел отделить LDIF-скрипты для создания моей структуры от скриптов для создания моих пользователей. Структура должна быть применена на нескольких серверах (DTAP), но пользователи будут использоваться только в модульных тестах / разработке.
Но когда я создаю свою группу, Apache DS (только для разработки) сообщает мне member
является обязательным атрибутом groupOfNames
.
ERR_279 Обязательные атрибуты [член (2.5.4.31)] не найдены в записи cn = USER_ROLE, ou = groups, dc = company, dc = com]
Более конкретный; я хочу достичь следующего 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
Я пробовал добавить пустой member:
к первоначальному созданию группы. Что работает, но оставляет пустой член и не выглядит чистым решением.
groupOfNames
объекты ДОЛЖНЫ иметь cn
атрибут и member
атрибут (см. rfc2256 или посмотрите на определение вашей схемы).
Мне будет интересно услышать мнение других, но, насколько я могу судить, ваши варианты являются одним из следующих:
Просмотрите свою схему, чтобы увидеть, существуют ли какие-либо другие объекты типа группы, которые не имеют атрибута члена под квалификатором 'MUST', и используйте его вместо groupOfNames
Используйте существующий обходной путь
Посмотрите, не определил ли кто-нибудь другой групповой объект, который лучше соответствует вашим потребностям, и добавьте его в свою схему.
(Или эти, но не делайте этого)
Определите свой собственный объект настраиваемой группы и добавьте его в свою схему
Пересмотреть groupOfNames
объектный класс в вашей схеме и переместите member
с ДОЛЖЕН по МАЙ. Если у вас есть гарантия, это ее сломает.