PHP 7.3.14 Released

ldap_exop_passwd

(PHP 7 >= 7.2.0)

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

説明

ldap_exop_passwd ( resource $link [, string $user = "" [, string $oldpw = "" [, string $newpw = "" [, array &$serverctrls ]]]] ) : mixed

PASSWD 拡張オペレーションを実行します。

パラメータ

link

ldap_connect() で返された、LDAP リンク識別子。

user

パスワードを変更するユーザーの dn

oldpw

このユーザーの古いパスワード。 サーバの設定によっては省略可能です。

newpw

このユーザーの新しいパスワード。 生成されたパスワードがある場合は、空にするか省略できます。

serverctrls

指定された場合は、パスワードポリシーをリクエストするコントロールがリクエストと一緒に送信されます。 その場合、この値は リクエストと一緒に送信する LDAP コントロール の配列 で埋められます。

返り値

newpw が空だったり省略されたりした場合は、 生成されたパスワードが返されます。 そうでなければ、成功時に TRUE 、失敗時に FALSE が返ります。

変更履歴

バージョン 説明
7.3 serverctrls のサポートが追加されました。

例1 PASSWD 拡張オペレーション

<?php
$ds 
ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($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拡張オペレーションの結果オブジェクトをパースする

add a note add a note

User Contributed Notes 1 note

up
-7
dumm at tutoerilio dot gnu
1 year ago
Schnaberhagi summberliö rumbasuuna gumpperlimuss!
To Top