不能得到ldap_modify工作
我试图使用LDAP user password change code但我被困在一个步骤中ldap_modify
抛出LDAP错误:不能得到ldap_modify工作
1 - Operations error
首先,我认为密码加密方法是不正确的,但即使代码
$rootdn = "cn=ldap_manager,dc=mycompany,dc=local";
$rootpwd = "mysecretkeys";
$r = ldap_bind($con,$rootdn,$rootpwd);
$entry = array();
$entry["givenName"] = "BabaGanush";
if ($r = ldap_modify($con,$user_dn,$entry) === false){
$error = ldap_error($con);
$errno = ldap_errno($con);
$message[] = "E201 - Please contact the administrator.";
$message[] = "$errno - $error";
} else {
$message[] = "Name was changed";
}
不工作(获得相同的错误#1)。
我曾尝试的rootdn所有可能的组合,但使用ldap_manager
$rootdn = "CN=users,DC=mycompany,DC=local";
$username = 'ldap_mamanger';
$domain = 'mycompany';
$rootdn = $username;
$rootdn = $username.'@'.$domain;
$rootdn = $domain.'\\'.$username;
$rootdn = "uid=$username,cn=users,dc=$domain,dc=local";
$rootdn = "uid=$username,dc=$domain,dc=local";
$rootdn = "uid=$username,dc=local";
$rootdn = "uid=$username,dc=$domain";
时当$ldaprdn = $domain.'\\'.$username;
工作正常进行定期AD用户(可以绑定)
dsquery user -name ldap*
回报
无法获得绑定"CN=ldap_manager,CN=Users,DC=mycompany,DC=local" "CN=ldap_user,CN=Users,DC=mycompany,DC=local"
任何线索都可能是错误的?
就我所见,您正试图修改完整的条目。这意味着,ldap_modify
将用新内容替换位于给定DN下的当前内容。并且我确定有一些字段是空的,当您将当前条目替换为仅包含给定名称的条目时,需要填写这些字段。
因此,无论是获取当前条目,并在该结果中替换有问题的值,或者您可能想看看ldap_mod_replace
。
切换到'ldap_mod_replace'。现在我可以用'ldap_manager'绑定,但最终的结果是一个错误:'53 - 服务器不愿意执行'这与我的问题无关。无论如何,我比以前更接近这个钉子。 – JackTheKnife
你有足够的AD权限修改记录吗? – RamRaider
@RamRaider是的 - 我知道。当我查看我的代码时,我不确定'$ rootdn'的值是否正确 – JackTheKnife
使用'dsquery'来快速找到正确的根dn – RamRaider