(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 現在可以為 null;以前,它的預設值為 [] 。 |
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 伺服器";
}
?>