php ldap用户密码更改ldap_modify ldap_mod_replace

时间:2012-01-11 18:04:13

标签: php active-directory ldap

当用户想要在活动目录中使用php更改密码时,我应该使用哪个功能?

他们将使用当前的用户名和密码绑定到服务器,然后输入新密码进行更改。

之前我使用过ldap_mod_replace,但我不得不使用具有更高权限的AD帐户来更换新密码。

我也试过ldap_modify,但它说用户的凭据无效,即使绑定了用户和密码。

*新密码编码正确。

1 个答案:

答案 0 :(得分:0)

通过LDAP以两种方式之一更改密码:

  • 向服务器发送修改请求
  • 向服务器发送密码修改扩展请求(需要当前密码)

修改请求具有以下参数:要更改的可分辨名称和修改列表。修改请求与连接的当前身份验证状态的唯一连接是向服务器发出修改请求的权限(现代的,专业质量的目录服务器可以通过连接的身份验证状态禁止操作)以及身份验证状态是否为允许修改由专有名称标识的条目(可能与认证状态不同)。修改请求不会导致“无效凭据”,只有绑定请求(设置连接的身份验证状态)可能导致“无效凭据”。如果不允许身份验证状态更改自己的密码,则必须使用具有这些权限的身份验证状态。