[ldap]
有关 ldap 接口的问题
我使用 openldap-2.3.34版本作为SDK,利用里面的接口 ldap_add_ext_s() 向ldap中添加一个条目,但总是报错,出现Naming violation,这是为什么啊?以下是我的部分代码:
LDAPMod mod0,mod1,mod2;
LDAPMod *mods[4];
dn = "cn=Mark Simth,dc=example,dc=com";
char *sn_values[2] = { "Jensen", NULL };
mod0.mod_op = 0;
mod0.mod_type = "sn";
mod0.mod_values = sn_values;
char *objectclass_values[2] = { "person", NULL };
mod1.mod_op = 0;
mod1.mod_type = "objectclass";
mod1.mod_values = objectclass_values;
char *telephoneNumer_values[2] = { "11234567893", NULL };
mod2.mod_op = 0;
mod2.mod_type = "telephoneNumber";
mod2.mod_values = telephoneNumer_values;
mods[0] = &mod0;
mods[1] = &mod1;
mods[2] = &mod2;
mods[3] = NULL;
resCode = ldap_add_ext_s( ld, dn, mods, NULL, NULL);
if ( resCode != LDAP_SUCCESS)
{
ldap_perror( ld, "ldap_add_ext_s");
}
结果总是显示Naming Violation....
additional info: naming attribute 'cn' is not present in the entry
我的目的就是要在ldap中添加一个新的entry,cn当然不存在目前的条目中了,系统怎么回事啊?
哪位高人能帮我看一下啊,到底哪里出了错?
[ 本帖最后由 lhm0000 于 2007-9-27 09:49 编辑 ]