Enter LDAP Password: adding new entry "dc=neusoft,dc=com" ldap_add: Invalid syntax (21) additional info: objectClass: value #1 invalid per syntax
时间: 2024-03-12 16:44:21 浏览: 233
这个错误通常是由于在添加新条目时,缺少必需的 objectClass 属性或者 objectClass 属性的值不正确导致的。
LDAP 要求每个条目都必须包含一个 objectClass 属性,该属性用于定义条目的类型。同时,objectClass 属性的值必须是一个已定义的 objectClass 类型。
你可以检查你的 LDIF 文件,确保每个条目都包含了正确的 objectClass 属性及其值。例如,对于一个基本的组织单位 (organizational unit),应该包含以下 objectClass 属性和值:
```
objectClass: top
objectClass: organizationalUnit
```
如果你确认你的 LDIF 文件已经包含了正确的 objectClass 属性和值,但仍然遇到了这个错误,那么可能是因为你的 LDAP 服务器并不支持某个特定的 objectClass 类型。你可以尝试使用其他的 objectClass 类型,或者在 LDAP 服务器上添加缺少的 objectClass 类型。
另外,当你添加新条目时,你需要使用管理员账户进行身份验证。在出现 "Enter LDAP Password" 提示时,输入管理员账户的密码即可。
相关问题
php 使用Ldap2 新增用户 "objectclass: value #3 invalid per syntax"
"objectclass: value #3 invalid per syntax" 这个错误通常是由于添加的 objectclass 属性值不正确导致的。Ldap2 是一个 PHP 的 LDAP 扩展库,用于操作 LDAP 目录服务。要新增用户,需要先确定目录服务中已经定义了适当的 objectclass 属性,然后在添加新用户时,将该属性作为一个数组传递给 Ldap2 的 add() 方法。
以下是一个示例代码,用于向 LDAP 目录服务中添加一个新用户:
```php
$ldap = new Ldap();
$ldap->bind($dn, $password);
$entry = array(
"cn" => "New User",
"uid" => "newuser",
"objectclass" => array("top", "person", "organizationalPerson", "inetOrgPerson")
);
$dn = "uid=newuser,ou=People,dc=example,dc=com";
$result = $ldap->add($dn, $entry);
if($result === false) {
echo "Error: " . $ldap->getError();
} else {
echo "User added successfully";
}
```
在这个示例中,我们使用了 `top`, `person`, `organizationalPerson`, `inetOrgPerson` 四个 objectclass 属性来定义新用户的类型。如果目录服务中没有这些属性,或者属性值不正确,就会出现上述错误。
阅读全文