问题: 如何在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) - >也没用。
答案 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”)。