(PHP 7 >= 7.2.0, PHP 8)
ldap_exop_passwd — PASSWD 扩展操作助手
$ldap
,$user
= "",$old_password
= "",$new_password
= "",&$controls
= null
执行PASSWD扩展操作。
ldap
一个LDAP\Connection 实例,由 ldap_connect() 返回。
user
要更改其密码的用户dn。
old_password
此用户的旧密码。根据服务器配置,可以省略。
new_password
此用户的新的密码。可以省略或为空以生成密码。
controls
如果提供,则发送密码策略请求控制,并使用请求返回的LDAP 控制数组填充。
版本 | 描述 |
---|---|
8.1.0 | ldap 参数现在需要一个LDAP\Connection实例;之前,需要一个有效的ldap link 资源。 |
8.0.0 |
controls 现在可以为空;之前,默认为[] 。 |
7.3.0 | 添加了对controls 的支持 |
示例 #1 PASSWD 扩展操作
<?php
$ds = ldap_connect("localhost"); // 假设LDAP服务器在此主机上
if ($ds) {
// 使用合适的dn绑定以提供更新访问权限
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "无法绑定到LDAP服务器";
exit;
}
// 使用PASSWD EXOP更改用户密码为生成的密码
$genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
if ($genpw) {
// 使用生成的密码绑定
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
}
// 将密码设置回"secret"
ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");
ldap_close($ds);
} else {
echo "无法连接到LDAP服务器";
}
?>