我正在尝试将名为sAMAccountName的新属性添加到现有的LDAP架构定义中,IM-LDAP使用UnboundID LDAP SDK读取该定义。
我已经将一个attributeTypes条目和sAMAccountName添加到matchingRuleUse。
attributeTypes: ( 2.5.18.11 NAME 'sAMAccountName' DESC 'MS Sec Principal User' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( creatorsName $ ... $ sAMAccountName ) )
对于每个先前存在的属性,对com.unboundid.ldap.sdk.schema.Schema.getAttributeType("attrName")
的调用将返回属性类型。但不是因为我的新属性。
我错过了什么?
在@jwilleke评论之后编辑10/11/18:
我想要实现的是使用IM-LDAP模拟Active Directory服务器的非常有限的功能。
在实际的AD生产环境中,有条目表示具有objectClass的用户:person,organizationalPerson,simulatedMicrosoftSecurityPrincipal。
在AD中,这些条目包含sAMAccountName和memberof属性。 但它们不在IM-LDAP附带的架构中。
身份验证Java代码首先在
上执行搜索(&(objectClass=user)(sAMAccountName=userAccountName)
然后,如果找到了一个条目,它会检查多值属性成员中是否存在给定的安全组名称。
从生产AD服务器导出的条目如下所示:
dn: cn=Smith\,John,ou=User Accounts,dc=ACME,dc=CORE,dc=INT
changetype: add
objectClass: person
objectClass: organizationalPerson
objectClass: simulatedMicrosoftSecurityPrincipal
cn: Smith,John
sn: JohnS
sAMAccountName: JohnS
userPassword: johnspasswd
memberof: ou=Service Accounts,dc=ACME,dc=CORE,dc=INT
通过添加以下内容,将两个新属性添加到架构中的objectClass simulatedMicrosoftSecurityPrincipal:
objectClasses: ( 2.5.6.24 NAME 'simulatedMicrosoftSecurityPrincipal' DESC 'MSSecurityPrincipal' SUP top AUXILIARY MUST sAMAccountName MAY memberof )
但是当我尝试将这些条目导入LDAP模拟时,我收到一个错误,告诉我没有定义sAMAccountName和memberof。
编辑2 :
attributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
Wokrked添加sAMAccountName,但仍试图找出如何添加memeberOf
Here 是完整的.ldif文件。
答案 0 :(得分:1)
这最终对我有用
objectClasses: ( 1.2.840.113556.1.5.6 NAME 'microsoftSecurityPrincipal' DESC 'MS SecurityPrincipal' SUP top AUXILIARY MUST ( sAMAccountName $ memberOf ) )
attributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributeTypes: ( 1.2.840.113556.1.2.102 NAME 'memberOf' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )