Python Eve MONGO_DBNAME 与 MONGO_AUTHDBNAME

标签 python eve

夏娃的global configuration docs提及 MONGO_AUTHDBNAMEMONGO_DBNAME 参数。

我希望 MONGO_AUTHDBNAME 成为 Eve 检查所提供的授权凭据所依据的数据库。类似的 CL 用法是:

mongo -u "user" -p  --authenticationDatabase "<MONGO_AUTHDBNAME>" --host x.x.x.x

然后,我希望 MONGO_DBNAME 成为 Eve 从中定向端点/集合的数据库。类似的 CL 用法是:

mongo> use <MONGO_DBNAME>

这样 host:5000/endpoint 将引用 MONGO_DBNAME 中的 endpoint 集合

但是,当我将 MONGO_DBNAME 设置为除我需要进行身份验证的数据库之外的任何内容时,访问每个端点都会失败:

OperationFailure: Authentication failed.

所以...

我上面的理解正确吗?
MONGO_DBNAME 和 MONGO_AUTHDBNAME 可以不同吗?settings.py 中的凭据是否必须让身份验证数据库与您想要的数据库相同面向的端点/集合?

谢谢

最佳答案

检查this问题。简而言之,MONGO_AUTHDBNAME 仅用于旧的 MongoDB 身份验证方案。因此,您需要让您的用户存在于 MONGO_DBNAME 数据库中才能使其正常工作。

关于Python Eve MONGO_DBNAME 与 MONGO_AUTHDBNAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36780731/

相关文章:

python - 将 defaultdict 与多处理一起使用?

python - 如何对列表进行排序首先写入相同的元素,然后按升序排列

python-eve 生成​​ _etag、_updated 和 _created

android - 值错误 : unconverted data remains: +00:00

android - 如何使用 retrofit2 将列表发送到 API

python - 预填充表单数据 Django

python - 如何检索字典中键控项的子值?

python - 通过 python 的多处理模块在 Pool 工作线程中使用本地内存

Python-夏娃 : More than one additional lookup

Python Eve 条件/批量删除