函式名稱:ldap_exop_passwd()
適用版本:PHP 7.0.0 及以上版本
函式描述:ldap_exop_passwd() 函式用於執行一個密碼修改擴充套件操作。
用法:
bool ldap_exop_passwd ( resource $link_identifier , string $user , string $old_password , string $new_password [, array &$serverctrls ] )
引數:
- $link_identifier:LDAP 連線識別符號,由 ldap_connect() 函式返回。
- $user:要修改密碼的使用者的 DN(Distinguished Name)。
- $old_password:使用者的舊密碼。
- $new_password:使用者的新密碼。
- $serverctrls(可選):LDAP 伺服器控制選項,可以是一個陣列或一個資源。
返回值:成功時返回 TRUE,失敗時返回 FALSE。
示例:
<?php
// 連線到 LDAP 伺服器
$ldapconn = ldap_connect("ldap.example.com") or die("無法連線到 LDAP 伺服器");
// 繫結到 LDAP 伺服器
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "adminpassword") or die("無法繫結到 LDAP 伺服器");
// 修改使用者密碼
$userdn = "uid=johndoe,ou=users,dc=example,dc=com";
$oldpassword = "oldpassword";
$newpassword = "newpassword";
if (ldap_exop_passwd($ldapconn, $userdn, $oldpassword, $newpassword)) {
echo "密碼修改成功";
} else {
echo "密碼修改失敗";
}
// 關閉 LDAP 連線
ldap_close($ldapconn);
?>
注意事項:
- 在使用 ldap_exop_passwd() 函式之前,需要先使用 ldap_connect() 和 ldap_bind() 函式來建立和繫結到 LDAP 伺服器。
- 需要確保 PHP 的 LDAP 擴充套件已經正確安裝和啟用。
- 使用者的 DN(Distinguished Name)是必需的,它指定了使用者在 LDAP 目錄中的唯一標識。
- 舊密碼和新密碼都應該是以明文形式提供,函式內部會對其進行加密處理。
- 修改密碼操作是否成功,取決於 LDAP 伺服器的配置和許可權設定。