Schnaberhagi summberliö rumbasuuna gumpperlimuss!
(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 服务器";
}
?>