我一直在试图创建Windows用户帐户出PHP本身没有问题。我唯一不能做的就是将windows用户密码设置为公司标准密码。 我可以创建,更改和删除用户帐户,除了密码外没有任何问题。每次我创建一个用户并尝试使用凭证登录自己时,我所得到的只是一个“用户名或密码错误”。我检查了用户名。为新的LDAP用户设置密码
我试过到目前为止:有明确的密码($ldaprecord['userPassword'] = "standard";
)
$ldaprecord['userPassword'] = '{MD5}' . base64_encode(pack('H*',md5($newuser_plaintext_password)));
就像在给定的例子
看来我可以更换$ldaprecord['userPassword']
但是当我尝试要更改ldaprecord['unicodePwd']
服务器不愿意做我的请求。 哪个密码正确?
我没有通过SSL连接到AD。这是我的错误吗?如果是这样,为什么我可以删除用户但不设置他们的密码?
在此先感谢。
编辑:
询问系统管理员建立通过SSL连接,但他说,轻型目录服务甚至没有安装在DC。在他看来,我直接在AD上工作。对此有何想法?
使用IIS在Windows 2012 R2上工作。
这是Active Directory,而不是OpenLDAP,对吗?无论如何,我看到你参考了创建Windows用户帐户如果是这样,是的,需要通过SSL/TLS进行加密连接才能更改密码(除非您已经修改了AD,不需要它,这不会被推荐)。另外,通常(假设这是AD ...),您将使用“unicodePwd”属性而不是“userPassword”。没有一些修改,'userPassword'属性在默认情况下不起作用。 – ChadSikorra
是的,它是一个活动目录。我将尝试通过SSL建立LDAP连接。困扰我的是,我无法更改或设置没有SSL的密码,但我可以删除用户。 – MrSmith
是的,任何时候使用密码属性时,都需要TLS或SSL。如果你使用AD,很可能你应该做一个'ldap_start_tls($ connection)'加密。你可以在'ldap_connect()'调用后直接使用该函数,否则它不能工作。 – ChadSikorra