将“memberOf”属性添加到ApacheDS

时间:2012-06-24 03:53:47

标签: ldap apacheds

我正在尝试在Apache Directory中模拟Active Directory的memberOf属性。我已将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 个答案:

答案 0 :(得分:9)

对于嵌入式Apache Directory Server上的集成测试用例,我添加了Microsoft Active Directory服务器中定义的 memberOf sAMAccountName 属性。

#########################################################
# 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

答案 1 :(得分:4)

ApacheDS团队了解memberOf 虚拟属性的需求。他们提到它将成为2.1.0 release

的一部分
  

Le 5/20/13 5:53 PM,Danielsen,Jayaécrit:

     
    

我从2013年1月的档案中看到,还不支持memberOf虚拟属性。     在即将发布的版本中是否有任何计划或工作正在支持memberOf? Morst肯定在2.1.0。

  
     

我们目前正在忙着清理剩余的150个问题   2.0.0-RC1发布,所以我认为这是我们在未来6个月内可以拥有的。

     

您可以创建JIRA来请求此类功能。

     

谢谢!

     

- 问候,Cordialement,EmmanuelLécharnywww.iktek.com

here是JIRA请求。

答案 2 :(得分:1)

您可能需要将包含“memberOf”的架构添加到ApacheDS配置中。

答案 3 :(得分:-3)

不是您的问题的答案,实际上不是一个好的做法,但您可以使用其他现有属性来模拟此问题。

我们仅使用ApacheDS进行测试,因此可能没问题。我们使用了“标题”属性,但可能还有另一个可以无风险地使用。