在 ldap 中更改对象类
Changing objectclass in ldap
我正在使用 Novell.Directory.Ldap 库在 ldap(Alcatel Omnivista 使用 Oracle 目录服务企业版 11.1.1.5)中创建用户。
它已经工作了很多年,但是自从 Omnivista 的最新更新以来,管理员遇到了我创建的用户的问题:对象类的顺序错误。
它应该在哪里
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetorgperson
objectclass: CDPerson
是:
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: CDPerson
因此他们的管理应用程序完全错误。
我正在使用以下初始化代码:
LdapAttributeSet attributeSet = new LdapAttributeSet
{
new LdapAttribute("objectclass", "inetOrgPerson"),
new LdapAttribute("cn", new[] {cg.Cn, cg.Cn}),
new LdapAttribute("sn", cg.Sn)
};
我的问题是:
- 这是一个真正的问题吗?顺序重要吗?暗示管理应用程序中存在错误。
- 我可以在创建时更改对象类吗?然后 ?我是不是该 ?
- 还是ldap中配置相关?
非常感谢!!
在 LDAP 中,属性(例如对象类)具有一组值,因此顺序无关紧要。
应用程序不应该依赖于值的顺序,所以我认为这是 Admin 应用程序中的错误。
有些服务器会保留客户端提供的值的顺序,有些则不会,但我不知道该行为在何处是可配置的。
我设法在创建时更改了对象类,现在应用程序运行良好。
尽管如此,我认为该应用程序在某些时候是错误的。
参考代码,如果哪天有人需要的话:
LdapAttributeSet attributeSet = new LdapAttributeSet
{
new LdapAttribute("objectclass", new[] {"top", "person", "organizationalPerson", "inetorgperson", "CDPerson"}),
new LdapAttribute("cn", new[] {cg.Cn, cg.Cn}),
new LdapAttribute("sn", cg.Sn),
};
我正在使用 Novell.Directory.Ldap 库在 ldap(Alcatel Omnivista 使用 Oracle 目录服务企业版 11.1.1.5)中创建用户。
它已经工作了很多年,但是自从 Omnivista 的最新更新以来,管理员遇到了我创建的用户的问题:对象类的顺序错误。
它应该在哪里
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetorgperson
objectclass: CDPerson
是:
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: person
objectclass: top
objectclass: CDPerson
因此他们的管理应用程序完全错误。
我正在使用以下初始化代码:
LdapAttributeSet attributeSet = new LdapAttributeSet
{
new LdapAttribute("objectclass", "inetOrgPerson"),
new LdapAttribute("cn", new[] {cg.Cn, cg.Cn}),
new LdapAttribute("sn", cg.Sn)
};
我的问题是:
- 这是一个真正的问题吗?顺序重要吗?暗示管理应用程序中存在错误。
- 我可以在创建时更改对象类吗?然后 ?我是不是该 ?
- 还是ldap中配置相关?
非常感谢!!
在 LDAP 中,属性(例如对象类)具有一组值,因此顺序无关紧要。
应用程序不应该依赖于值的顺序,所以我认为这是 Admin 应用程序中的错误。
有些服务器会保留客户端提供的值的顺序,有些则不会,但我不知道该行为在何处是可配置的。
我设法在创建时更改了对象类,现在应用程序运行良好。 尽管如此,我认为该应用程序在某些时候是错误的。
参考代码,如果哪天有人需要的话:
LdapAttributeSet attributeSet = new LdapAttributeSet
{
new LdapAttribute("objectclass", new[] {"top", "person", "organizationalPerson", "inetorgperson", "CDPerson"}),
new LdapAttribute("cn", new[] {cg.Cn, cg.Cn}),
new LdapAttribute("sn", cg.Sn),
};