MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticateВыполняет вход в базу данных

Описание

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

Этот метод вызывает соединение для аутентификации. Если для сервера базы данных включена аутентификация (по умолчанию это не так), вам необходимо войти в систему, прежде чем база данных позволит вам что-либо сделать.

В общем, вы должны использовать аутентификацию, встроенную в MongoClient::__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));

?>

Список параметров

username

Имя пользователя.

password

Пароль (в текстовом виде).

Возвращаемые значения

Возвращает ответ базы данных. Если вход был успешным, вернет

<?php
array("ok" => 1);
?>
Если что-то пошло не так, вернет
<?php
array("ok" => 0"errmsg" => "auth fails");
?>
(вместо "auth fails" может быть другое сообщение, в зависимости от версии базы данных и того, что не так).

Смотрите также

Основная документация MongoDB по » аутентификации.

Список изменений

Версия Описание
PECL mongo 1.2.11 Выдает E_DEPRECATED при использовании. Пожалуйста, передавайте детали аутентификации в конструкторе.