PHP Conference Japan 2024

ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwdPASSWD 延伸操作輔助函式

說明

ldap_exop_passwd(
    LDAP\Connection $ldap,
    字串 $user = "",
    #[\SensitiveParameter] 字串 $old_password = "",
    #[\SensitiveParameter] 字串 $new_password = "",
    陣列 &$controls = null
): 字串|布林值

執行 PASSWD 延伸操作。

參數

ldap

一個 LDAP\Connection 實例,由 ldap_connect() 返回。

user

要更改密碼的使用者之 dn。

old_password

此使用者的舊密碼。根據伺服器設定,可以省略。

new_password

此使用者的新密碼。可以省略或留空以產生密碼。

controls

如果提供,則密碼策略請求控制項會與請求一起發送,並以請求返回的 LDAP 控制項 陣列填入。

返回值

如果 new_password 為空或省略,則返回產生的密碼。否則,成功時返回 true,失敗時返回 false

更新日誌

版本 說明
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 伺服器";
}
?>

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top