Java 如何在LDIF文件中添加属性?

Java 如何在LDIF文件中添加属性?,java,ldap,spring-ldap,ldif,Java,Ldap,Spring Ldap,Ldif,我想使用LDIF文件用Spring测试LDAP 我不使用xml 我实现了从LDIF文件读取所有基本属性 如何添加一些自定义属性 到目前为止,我使用了这种语法 dn: cn=name,ou=people,dc=springframework,dc=org objectclass: top objectclass: person cn: name sn: name uid: name mail: name@gmail.com givenName: name userPassword: namespa

我想使用LDIF文件用Spring测试LDAP

我不使用xml

我实现了从LDIF文件读取所有基本属性

如何添加一些自定义属性

到目前为止,我使用了这种语法

dn: cn=name,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
cn: name
sn: name
uid: name
mail: name@gmail.com
givenName: name
userPassword: namespassword
changetype: modify
add: telephonenumber
telephonenumber: 555-2468
…但它无法读取文件,因为它无法识别“changeType”属性

编辑问题

我有这个档案:

dn: dc=springframework,dc=org
objectclass: top
objectclass: domain
objectclass: extensibleObject
dc: springframework

dn: ou=groups,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: groups

dn: ou=subgroups,ou=groups,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: subgroups

dn: ou=people,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: people

dn: ou=space cadets,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: space cadets

dn: ou=\"quoted people\",dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: "quoted people"

dn: ou=otherpeople,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: otherpeople

dn: uid=ben,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Ben Alex
sn: Alex
uid: ben
userPassword: {SHA}nFCebWjxfaLbHHG1Qk5UU4trbvQ=

dn: uid=bob,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Bob Hamilton
sn: Hamilton
uid: bob
userPassword: bobspassword

dn: uid=joe,ou=otherpeople,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Joe Smeth
sn: Smeth
uid: joe
userPassword: joespassword

dn: cn=mouse\, jerry,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Mouse, Jerry
sn: Mouse
uid: jerry
userPassword: jerryspassword

dn: cn=slash/guy,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: slash/guy
sn: Slash
uid: slashguy
mail: slash@gmail.com
givenName: Slash Snakepit
userPassword: slashguyspassword
msExchUserAccountControl: 0

dn: cn=quote\"guy,ou=\"quoted people\",dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: quote\"guy
sn: Quote
uid: quoteguy
userPassword: quoteguyspassword

dn: uid=space cadet,ou=space cadets,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Space Cadet
sn: Cadet
uid: space cadet
userPassword: spacecadetspassword

dn: cn=developers,ou=groups,dc=springframework,dc=org
objectclass: top
objectclass: groupOfUniqueNames
cn: developers
ou: developer
uniqueMember: uid=ben,ou=people,dc=springframework,dc=org
uniqueMember: uid=bob,ou=people,dc=springframework,dc=org

dn: cn=managers,ou=groups,dc=springframework,dc=org
objectclass: top
objectclass: groupOfUniqueNames
cn: managers
ou: manager
uniqueMember: uid=ben,ou=people,dc=springframework,dc=org
uniqueMember: cn=mouse\, jerry,ou=people,dc=springframework,dc=org

dn: cn=submanagers,ou=subgroups,ou=groups,dc=springframework,dc=org
objectclass: top
objectclass: groupOfUniqueNames
cn: submanagers
ou: submanager
uniqueMember: uid=ben,ou=people,dc=springframework,dc=org
我有一个例外:

原因:com.unboundd.ldap.sdk.LDAPException:无法添加条目 “cn=slash/guy,ou=people,dc=springframework,dc=org”,因为它违反了 提供的架构:条目包含属性 架构中未定义的msExchUserAccountControl


如何添加该属性?

尝试将此属性添加到应用程序。属性

spring.ldap.embedded.validation.enabled=false

您也可以使用“spring.ldap.embedded.validation.schema”属性定义模式,如下所述


尝试将此属性添加到应用程序中。属性

spring.ldap.embedded.validation.enabled=false

您也可以使用“spring.ldap.embedded.validation.schema”属性定义模式,如下所述


您是在尝试使用LDIF修改现有LDAP条目,还是在通过LDIF创建新LDAP条目时,您确实有一个名为“changetype”的属性要设置?我正在尝试创建与现有LDAP结构相同的LDAP结构,但此LDIF文件是一个仅用于JUNIT测试的新文件。我需要添加其他属性,它们是自定义属性。我的目标是向LDAP条目添加一些自定义属性,我认为“changetype”是。。。如果有其他方法添加它们,请告诉我。“changetype”是在条目中使用的一个特殊LDIF指令。如果您将其省略,则假定该操作为“添加”。如果您希望对现有LDAP条目进行LDIF修改,那么修改的“changetype”是正确的,但格式与您使用的完全不同。另外,“changetype”语句通常位于“dn:”的右上角(虽然我不确定这是否重要,但这取决于解析器)。请看:我更新了问题,使之更清楚(希望如此)。非常感谢,您是在尝试使用LDIF修改现有LDAP条目,还是在通过LDIF创建新LDAP条目时,您确实有一个名为“changetype”的属性要设置?我正在尝试创建与现有LDAP结构相同的LDAP结构,但此LDIF文件是一个仅用于JUNIT测试的新文件。我需要添加其他属性,它们是自定义属性。我的目标是向LDAP条目添加一些自定义属性,我认为“changetype”是。。。如果有其他方法添加它们,请告诉我。“changetype”是在条目中使用的一个特殊LDIF指令。如果您将其省略,则假定该操作为“添加”。如果您希望对现有LDAP条目进行LDIF修改,那么修改的“changetype”是正确的,但格式与您使用的完全不同。另外,“changetype”语句通常位于“dn:”的右上角(虽然我不确定这是否重要,但这取决于解析器)。请看:我更新了问题,使之更清楚(希望如此)。谢谢