(PECL mongo >=1.0.1)
MongoDB::authenticate — Identification à une base de données
Cette méthode permet de s'identifier sur une connexion. Si l'identification est activée sur le serveur de base de données (ce n'est pas le cas par défaut), vous devez vous y identifier avant de faire une quelconque opération.
En général, vous devriez utiliser l'authentification intégrée à Mongo::__construct() au lieu de cette méthode. Si vous vous authentifiez sur une connection et que celle-ci se perd et se reconnecte pendant votre session, vous serez réauthentifié. Si vous vous étiez authentifié manuellement au moyen de cette méthode et que la connection se perd, vous devrez alors rappeler cette méthode une fois reconnecté.
Cette méthode revient à exécuter :
<?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
));
?>
Une fois la connexion authentifiée, elle ne peut être non-authentifiée qu'en utilisant la commande de la base de données "logout" :
<?php
$db->command(array("logout" => 1));
?>
Le nom d'utilisateur.
Le mot de passe (en texte plein).
Retourne la réponse de la base de données. Si l'identification a réussi, la méthode retournera
<?php
array("ok" => 1);
?>
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
Documentation principale MongoDB sur l' » authentification.