PHP - Manual: MongoDB::authenticate
2024-12-25
(PECL mongo >=1.0.1)
MongoDB::authenticate — 登录到数据库
This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.
需要把认证信息放在连接字符串里作为代替。
$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");
?>
MongoDB 关于 » authenticate 的核心文档。
版本 | 说明 |
---|---|
1.2.11 |
使用时产生 E_DEPRECATED 。
请将验证细节传入到构造器。
|