我想使用PHP删除OpenLDAP服务器中的POSIX帐户。
public static function deleteUser($ldapconn, $username) {
if (!$ldapconn) { return false; }
if (LDAPUserManager::isUserExist($ldapconn, $username)) {
$dn = "cn=".$username.",cn=users,ou=groups,dc=hahaha,dc=com";
ldap_delete($ldapconn, $dn); // Warning here!
}
}
当我执行上述方法时,我收到了警告:
警告:ldap_delete():删除:第73行/var/www/html/system/LDAP/LDAPUserManager.php中需要强(呃)身份验证
当我在phpLDAPadmin中检查结果时,执行后不会删除用户。此外,执行ldap_modify()
时会出现同样的问题。但是,当我执行ldap_add()
时,问题就不会出现了。{/ p>
带有PHP脚本[192.168.1.1]和OpenLDAP服务器[192.168.1.4]的apache Web服务器实际上位于两台不同的计算机上。在搜索了一些帖子之后,SSL似乎是解决问题所必需的。但问题是我的两台服务器 没有域 。是否有任何方法可以解决(或绕过)问题?
ldapdelete
发送到OpenLDAP服务器来删除该条目。 ldap_delete
功能起作用?如何使用PHP删除/修改OpenLDAP中的用户?
< Web Server >
PHP Version: PHP 7.0
HTTP Server: apache2
Server OS : Ubuntu 16.04
< OpenLDAP Server >
OpenLDAP Version: 2.4.42
Server OS : Ubuntu 16.04
< Other Server >
Server OS : Ubuntu 16.04
答案 0 :(得分:2)
如消息所示,您需要使用更强的身份验证连接到LDAP服务器。当您使用ldap://
连接到服务器时,您可能需要尝试ldaps://
或通过TLS或SASL连接到服务器。
我最喜欢的搜索引擎也显示了此消息的问题:PHP ldap - Strong(er) authentication required