(PECL mongo >=1.0.1)
MongoDB::authenticate — Identification à une base de données
$username
, string $password
)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 à MongoClient::__construct() au lieu de cette méthode. Si vous vous authentifiez sur une connexion 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 connexion 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));
?>
username
Le nom d'utilisateur.
password
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.
Version | Description |
---|---|
1.2.11 |
Lance une alerte de niveau E_DEPRECATED
lorsqu'utilisé. Veuillez passer les détails d'authentification
au constructeur.
|