And*_*dre 3 php ldap active-directory
我正在使用 PHP LDAP 库来访问 Microsoft 的 Active Directory,我正在寻找一种清空单值属性的干净方法。
我正在使用 ldap_modify ( http://php.net/manual/de/function.ldap-modify.php ) 来更新活动目录联系人。不幸的是,当我尝试写入空字符串 ('') 时,我收到来自 ldap 库的语法错误。当我没有新的联系人属性时尝试覆盖单值联系人属性时会发生这种情况。
有没有一种干净的方法来删除具有单个值的 ldap 属性?我现在唯一的解决方案是写 ' '(单空格),但我觉得这可能会导致其他问题。
顺便说一下,清理多值属性很简单。LDAP 确实允许插入空数组 (array())。
非常感谢您的支持。
我找到了一种清空活动目录属性的好方法。
对于多值和单值属性,使用 ldap_modify 提交空数组确实会清空属性。
$entry = array();
$entry["member"] = array();
ldap_modify($link, $dn, $entry);
Run Code Online (Sandbox Code Playgroud)
为什么我首先感到困惑:但是不允许通过 ldap_add() 提交空数组。我对 ldap_modify 和 ldap_add 操作使用了相同的映射函数,但在尝试通过 ldap_add 提交空属性时出错。这是不允许的。
很高兴知道:即使此属性为空或尚未设置,也允许通过 ldap_modify 提交空数组。