ldap_exop_passwd
(PHP 7 >= 7.2.0)
ldap_exop_passwd — PASSWD 拡張オペレーションのヘルパ
説明
ldap_exop_passwd
( resource $ldap
[, string $user
= ""
[, string $old_password
= ""
[, string $new_password
= ""
[, array &$controls
= null
]]]] ) : string|bool
PASSWD 拡張オペレーションを実行します。
パラメータ
ldap
- ldap_connect() で返された、LDAP リンク識別子。
user
- パスワードを変更するユーザーの dn
old_password
- このユーザーの古いパスワード。 サーバの設定によっては省略可能です。
new_password
- このユーザーの新しいパスワード。 生成されたパスワードがある場合は、空にするか省略できます。
controls
- 指定された場合は、パスワードポリシーをリクエストするコントロールがリクエストと一緒に送信されます。 その場合、この値は リクエストと一緒に送信する LDAP コントロール の配列 で埋められます。
返り値
new_password
が空だったり省略されたりした場合は、
生成されたパスワードが返されます。
そうでなければ、成功時に true
、失敗時に false
が返ります。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 | controls は、nullable になりました。
|
7.3 | controls のサポートが追加されました。
|
例
例1 PASSWD 拡張オペレーション
<?php$ds = ldap_connect("localhost"); // assuming the LDAP server is on this hostif ($ds) { // bind with appropriate dn to give update access $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret"); if (!$bind) { echo "Unable to bind to LDAP server"; exit; } // use PASSWD EXOP to change the user password for a generated one $genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret"); if ($genpw) { // use the generated password to bind $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw); } // set the password back to "secret" ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret"); ldap_close($ds);} else { echo "Unable to connect to LDAP server";}?>