活动目录/多值RDN

时间:2014-07-01 13:21:23

标签: active-directory ldap opends

问题 如何在Active Directory中处理这样的DN:

  

" myAttribute1 = val1 + myAttribute2 = val2 + myAttribute3 = VAL3,   OU = instance1,DC = adtest"

注意:我这里没有CN,RDN完全由自定义类 myAttribute1 myAttribute2 定义,的 myAttribute3

详细 我有一个架构描述,我必须将vom OpenDS迁移到Active Directory。

但似乎多值RDN在Active Directory中存在问题。

使用上述DN进行查找在OpenDS中运行良好。但是当我在Active Directory中进行相同的查找时,我得到了这个例外:

  

javax.naming.InvalidNameException:" myAttribute1 = val1 +   myAttribute2 = val2 myAttribute3 = val3":[LDAP:错误代码34 -   0000208F:LdapErr:DSID-0C090715,注释:处理名称,数据时出错   0,v1db1];

以下是我的架构定义。首先在OpenDS中:

objectClasses: ( 1.3.6.1.4.1.99.2
  NAME 'myNewClass'
  SUP top STRUCTURAL
  MUST ( myAttribute1 $ myAttribute2 $ myAttribute3 )
  MAY someOtherAttribute
  )

这就是我为Active Directory所做的:

# Class: myNewClass
dn: cn=myNewClass,cn=Schema,cn=Configuration,dc=X
changetype: add
objectClass: classSchema
governsID: 1.3.6.1.4.1.99.2
ldapDisplayName: myNewClass
adminDisplayName: myNewClass
objectClassCategory: 0
systemOnly: FALSE
# subclassOf: top
subclassOf: 2.5.6.0
# rdnAttId: myAttribute1 
rdnAttId: 1.3.6.1.4.1.99.1
# mustContain: myAttribute2 
mustContain: 1.3.6.1.4.1.99.2
# mustContain: myAttribute3 
mustContain: 1.3.6.1.4.1.99.3
# mayContain: someOtherAttribute
mayContain: 1.3.6.1.4.1.99.4
# possSuperiors: organizationalUnit
possSuperiors: 2.5.6.5
# defaultObjectCategory: myNewClass
defaultObjectCategory: cn=myNewClass,cn=Schema,cn=Configuration,dc=X

我认为这个问题与rdnAttId有关 - 我不确定应该放在哪个值。首先,我试图将CN放在那里 - >不工作。其次,我尝试使用任何自定义属性(myAttribute1) - >也没用。

1 个答案:

答案 0 :(得分:3)

经过一些研究:似乎可以在Active Directory中使用/定义多值RDN。

请参阅:http://msdn.microsoft.com/en-us/library/cc223237.aspx

引用:“...... [RFC2253]第2节为RelativeDistinguishedName定义了以下语法规则,它明确允许RDN包含多个属性和值:

  

RelativeDistinguishedName :: = SET SIZE(1..MAX)OF   AttributeTypeAndValue

Active Directory符合此规则,并且在规则范围内限制MAX等于1。 ......“。

LOL( - >“MAX等于1”)。