2017-04-03 68 views
0

我想使用LDIF文件来测试Spring的LDAP。如何在LDIF文件中添加属性?

我不使用xml。

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

如何添加一些自定义属性?

到目前为止,我用这个语法

dn: cn=name,ou=people,dc=springframework,dc=org 
objectclass: top 
objectclass: person 
cn: name 
sn: name 
uid: name 
mail: [email protected] 
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: [email protected] 
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.unboundid.ldap.sdk.LDAPException:无法添加条目 'cn = slash/guy,ou = people,dc = springframework,dc = org',因为它违反了 提供的模式:条目包含属性 未在架构中定义的msExchUserAccountControl。

如何添加该属性?

+0

你们是不是要使用LDIF修改现有的LDAP ENTR y,还是您实际上有一个属性,称为“changetype”,您尝试通过LDIF创建新的LDAP条目时设置? – ChadSikorra

+0

我正在尝试创建与我具有相同的LDAP结构,但此LDIF文件是仅用于JUNIT测试的新文件。 我有需要添加其他属性,这是自定义属性。 – pacio14

+0

我的目标是将一些自定义属性添加到LDAP条目中,我认为“changetype”是... 如果还有其他方式添加它们,请告诉我。 – pacio14

回答