(PECL mongo >=1.0.1)
MongoDB::authenticate — このデータベースにログインする
このメソッドは、接続を認証済みの状態にします。 データベースサーバで認証を有効にしていると (デフォルトでは有効になっていません)、 ログインするまでは何もすることができません。
一般に認証は、このメソッドを使うよりも Mongo::__construct() に組み込むことを推奨します。 接続時に認証を済ませておけば、接続が中断されて再接続したときにも自動的に認証をやり直します。 このメソッドで後から認証した場合は、 接続が中断されて再接続したらまたこのメソッドをコールし直さなければなりません。
このメソッドは、次のコードを実行するのと同じ意味です。
<?php
$salted = "${username}:mongo:${password}";
$hash = md5($salted);
$nonce = $db->command(array("getnonce" => 1));
$saltedHash = md5($nonce["nonce"]."${username}${hash}");
$result = $db->command(array("authenticate" => 1,
"user" => $username,
"nonce" => $nonce["nonce"],
"key" => $saltedHash
));
?>
いったん認証を済ませた後、認証前の状態に戻すには データベースの "logout" コマンドを実行します。
<?php
$db->command(array("logout" => 1));
?>
ユーザ名。
パスワード (プレーンテキスト)。
データベースからの応答を返します。ログインに成功すると、次のようになります。
<?php
array("ok" => 1);
?>
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
MongoDB コアドキュメントの » authenticate を参照ください。