Php/docs/function.ldap-exop-passwd

提供:Dev Guides
< Php
移動先:案内検索

ldap_exop_passwd

(PHP 7 >= 7.2.0)

ldap_exop_passwdPASSWD 拡張オペレーションのヘルパ


説明

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";}?>

参考

  • ldap_exop() - 拡張されたオペレーションを実行する
  • ldap_parse_exop() - LDAP拡張オペレーションの結果オブジェクトをパースする