ldap_add(): Add: Object class violation error(ldap_add():添加:对象类违规错误)
问题描述
当我尝试通过 PHP 向 OpenDS 添加属性时,出现以下错误:
When I try to add attribute to the OpenDS via PHP I get the following error:
ldap_add(): 添加:对象类违规
ldap_add(): Add: Object class violation
请帮忙.
这是我的代码
<?php
$ldapconfig['host'] = 'PC100';
$ldapconfig['port'] = 1389;
$ldapconfig['basedn'] = 'dc=company,dc=com';
$ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']);
$password=1;
$username="cn=Directory Manager";
if ($bind=ldap_bind($ds, $username, $password)) {
echo("Login correct");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT
$dn = "cn=roshan1,dc=example,dc=com";
//$newuser["objectclass"] = "inetOrgPerson";
//$newuser["cn"] = "new1";
//$newuser["sn"] = "user";
$ldaprecord['cn'] = "roshan1";
$ldaprecord['givenName'] = "mkljl";
$ldaprecord['sn'] = "roshan";
$ldaprecord['objectclass'] = "inetOrgPerson";
$ldaprecord['mail'] = "lkl@fh.com";
$ldaprecord['mmmm'] = "77878";
// add data to directory
$r = ldap_add($ds, $dn, $ldaprecord);
} else {
echo("Unable to bind to server.</br>");
}
?>
如果我从代码中删除 $ldaprecord['mmmm'] = "77878";
它可以正常工作.如何添加这样的新属性?
If I remove $ldaprecord['mmmm'] = "77878";
from the code it works fine. How can I add a new attribute like this?
推荐答案
嗯,看起来你只是想将 objectclass
设置为 inetOrgPerson
,但你必须还设置 inetorgPerson
从中扩展的其他上层类-可能是 top
和 person
...
Hmm, it looks like You are trying only to set objectclass
to inetOrgPerson
, but You have to set also other upper classes from which inetorgPerson
is extending - that would be top
and person
maybe...
所以:
$ldaprecord['cn'] = "roshan1";
$ldaprecord['givenName'] = "mkljl";
$ldaprecord['sn'] = "roshan";
$ldaprecord['objectclass'][0] = "top";
$ldaprecord['objectclass'][1] = "person";
$ldaprecord['objectclass'][2] = "inetOrgPerson";
$ldaprecord['mail'] = "lkl@fh.com";
$ldaprecord['mmmm'] = "77878";
这篇关于ldap_add():添加:对象类违规错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ldap_add():添加:对象类违规错误


基础教程推荐
- php中的PDF导出 2022-01-01
- 将变量从树枝传递给 js 2022-01-01
- PHPUnit 的 Selenium 2 文档到底在哪里? 2022-01-01
- 使用 scandir() 在目录中查找文件夹 (PHP) 2022-01-01
- Yii2 - 在运行时设置邮件传输参数 2022-01-01
- Web 服务器如何处理请求? 2021-01-01
- 如何在数学上评估像“2-1"这样的字符串?产生“1"? 2022-01-01
- php 7.4 在写入变量中的 Twig 问题 2022-01-01
- php中的foreach复选框POST 2021-01-01
- 主题化 Drupal 7 的 Ubercart “/cart"页 2021-01-01