夏娃的global configuration docs提及 MONGO_AUTHDBNAME
和 MONGO_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/