Python 夏娃 MONGO_DBNAME vs MONGO_AUTHDBNAME

Python Eve MONGO_DBNAME vs MONGO_AUTHDBNAME

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 从中定位 endpoints/collections 的数据库。类似的 CL 用法是:

mongo> use <MONGO_DBNAME>

这样 host:5000/endpoint 将引用 MONGO_DBNAME

中的 endpoint 集合

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

OperationFailure: Authentication failed.

所以...

我上面的理解正确吗?
MONGO_DBNAMEMONGO_AUTHDBNAME 是否可以不同/settings.py 中的凭据是否必须使身份验证数据库与您希望 endpoints/collections 从中定向的数据库相同?

谢谢

检查问题。简而言之,MONGO_AUTHDBNAME 仅用于旧的 MongoDB 身份验证方案。所以你需要让你的用户在 MONGO_DBNAME 数据库中才能让它工作。