MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticateIniciar sesión en esta base de datos

Descripción

public MongoDB::authenticate ( string $username , string $password ) : array

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);
?>
Si algo fue mal, devolverá:
<?php
array("ok" => 0"errmsg" => "auth fails");
?>
("auth fails" puede ser otro mensaje, dependiendo de la versión de la base de datos y de qué fuera mal).

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.