MongoDB::authenticate
(PECL mongo >=1.0.1)
MongoDB::authenticate — Iniciar sesión en esta base de datos
Descripción
$username
, string $password
)Este método hace que esta conexión sea autenticada. Si el servidor de bases de datos tiene la autenticación habilitada (de forma predeterminada, no lo está), deberá iniciar sesión antes de poder hacer cualquier cosa.
En general, deberá se recomienda utilizar la autenticación que incorpora MongoClient::__construct() antes que este método. Si se autentica sobre la conexión, y la conexión se cae y se reconecta durante la sesión, automáticamente será re-autenticado. Si se autentica manualmente usando este método, y la conexión se cae, deberá llamar a este método de nuevo cuando la conexión vuelva.
Este método es equivalente a ejecutar:
<?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
));
?>
Una vez que una conexión ha sido autenticada, sólo puede ser des-autenticada mediante el comando de base de datos "logout":
<?php
$db->command(array("logout" => 1));
?>
Parámetros
-
username
-
Nombre de usuario.
-
password
-
La contraseña (en texto plano).
Valores devueltos
Devuelve la respuesta de la base de datos. Si el inicio de sesión tuvo éxito, devolverá:
<?php
array("ok" => 1);
?>
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
Ver también
Documentación de MongoDB sobre » autenticación.
Historial de cambios
Versión | Descripción |
---|---|
1.2.11 |
Emite un error de nivel E_DEPRECATED cuando se usa.
Por favor, pase los detalles de autenticación al constructor.
|