Добавьте атрибут 'memberOf' в ApacheDS
Я пытаюсь смоделировать атрибут memberOf Active Directory в Apache Directory. Я добавил следующую запись для memberOf в мой файл LDIF:
dn: m-oid=1.3.6.1.4.1.18060.0.4.3.2.1,ou=attributeTypes,cn=other,ou=schema
m-usage: USER_APPLICATIONS
m-equality: distinguishedNameMatch
objectClass: metaAttributeType
objectClass: metaTop
objectClass: top
m-name: memberOf
m-oid: 1.3.6.1.4.1.18060.0.4.3.2.1
m-obsolete: FALSE
m-noUserModification: FALSE
m-syntax: 1.3.6.1.4.1.1466.115.121.1.27
Когда я запускаю ApacheDS, регистрируется следующее предупреждение:
WARN [ContainerBackgroundProcessor[StandardEngine[Catalina]]] entry.ServerStringValue - Cannot normalize the value :Encountered name based id of memberOf which was not found in the OID registry
Это вызывает проблемы позже, потому что мое приложение пытается использовать атрибут memberOf в качестве фильтра поиска.
Что-то не так с тем, как я указал запись LDIF?
4 ответа
Для моих тестов интеграции поверх встроенного сервера каталогов Apache я добавил атрибуты memberOf и sAMAccountName, определенные на сервере Microsoft Active Directory.
#########################################################
# MICROSOFT SCHEMA for sAMAccountName and memberOf
# these two attributes are not defined in Apache Directory Server
#########################################################
dn: cn=microsoft, ou=schema
objectclass: metaSchema
objectclass: top
cn: microsoft
dn: ou=attributetypes, cn=microsoft, ou=schema
objectclass: organizationalUnit
objectclass: top
ou: attributetypes
dn: m-oid=1.2.840.113556.1.4.221, ou=attributetypes, cn=microsoft, ou=schema
objectclass: metaAttributeType
objectclass: metaTop
objectclass: top
m-oid: 1.2.840.113556.1.4.221
m-name: sAMAccountName
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15
m-singleValue: TRUE
dn: m-oid=1.2.840.113556.1.4.222, ou=attributetypes, cn=microsoft, ou=schema
objectclass: metaAttributeType
objectclass: metaTop
objectclass: top
m-oid: 1.2.840.113556.1.4.222
m-name: memberOf
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15
m-singleValue: FALSE
dn: ou=objectclasses, cn=microsoft, ou=schema
objectclass: organizationalUnit
objectclass: top
ou: objectClasses
dn: m-oid=1.2.840.113556.1.5.6, ou=objectclasses, cn=microsoft, ou=schema
objectclass: metaObjectClass
objectclass: metaTop
objectclass: top
m-oid: 1.2.840.113556.1.5.6
m-name: simulatedMicrosoftSecurityPrincipal
m-supObjectClass: top
m-typeObjectClass: AUXILIARY
m-must: sAMAccountName
m-may: memberOf
#######################################################
# Megacorp employees
#######################################################
dn: cn=EmployeeABC,ou=nl_users,DC=corp,DC=megacorp,DC=COM
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectclass: simulatedMicrosoftSecurityPrincipal
cn: EmployeeABC
sn: EmployeeABC
givenName: EmployeeABC
mail: EmployeeABC@megacorp.com
MEMBEROF: CN=just-users,OU=mc_groups,DC=corp,DC=megacorp,DC=com
MEMBEROF: CN=best-users,OU=mc_groups,DC=corp,DC=megacorp,DC=com
SAMACCOUNTNAME: employeeabc
Команда ApacheDS осознает стремление memberOf
виртуальный атрибут. Они упоминают, что это будет частью выпуска 2.1.0:
Le 20.05.13 17:53, Даниэльсен, Джей Экрит:
Из архивов за январь 2013 года я вижу, что виртуальный атрибут memberOf еще не поддерживается. Есть ли какие-либо планы или работа по поддержке memberOf в следующем выпуске? Морст конечно в 2.1.0.
В настоящее время мы заняты очисткой 150 оставшихся проблем перед выпуском 2.0.0-RC1, поэтому я думаю, что это то, что мы можем получить в течение следующих 6 месяцев.
Вы можете создать JIRA, чтобы запросить такую функцию.
Спасибо!
- С уважением, Кордиалемент, Эммануэль Лехарни www.iktek.com
А вот и запрос JIRA.
Возможно, вам понадобится добавить схему, которая содержит memberOf, в конфигурацию ApacheDS.
Не ответ на ваш вопрос и действительно не очень хорошая практика, но вы можете использовать другой существующий атрибут, чтобы подражать этому.
Мы используем ApacheDS только для тестирования, так что все может быть в порядке. Мы использовали атрибутtitle, но может быть другой, который вы можете использовать без риска.