c++ - mongodb C++ 驱动验证

标签 c++ mongodb authentication

我使用 ScopedDbConnection,它在每个数据库操作中进行。如果我这样做:

mongo::ScopedDbConnection conn(host);
conn->auth(BSON("user"<<"user1"<<"pwd"<<"password1"));
...
conn.done();

也就是说每次db操作都会涉及到auth过程,这是没有必要的。在java driver中,有一个DB类,它有一个authenticate函数,在“db.authenticate(...)”之后,所有后续操作都可以执行,而不是像上面代码那样在每个db连接上进行auth。

有没有办法在 C++ 驱动程序中只授权一次?

最佳答案

考虑以下解决方案:

conn_ = new DBClientReplicaSet(...);
conn_->connect();
conn_->auth(BSON("user" << "xxx" << "password" << "xxx"));

然后您可以使用conn_ 进行任何数据库操作。

关于c++ - mongodb C++ 驱动验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24583427/

相关文章:

c++ - 仅重新初始化派生类中的所有成员变量

javascript - 如何将对象从 MongoDB 发送到 jade?

mongodb - 作为服务运行时将 MongoDB 绑定(bind)到 IP 地址

javascript - 使用 Angular/Nodejs 将表单数据发布到 MongoDB 数据库

java - 无法使用 JAAS 身份验证连接到 ActiveMQ

Java\Groovy - java.io.IOException : Authentication failure in simple authenticated HTTP request

c++ - 使用 ncurses 刷新重叠窗口

c++ - 异常规范如何影响虚拟析构函数覆盖?

C++模板语法错误

javascript - AngularJS - 处理刷新 token ?