Python 夏娃 MONGO_DBNAME vs MONGO_AUTHDBNAME
Python Eve MONGO_DBNAME vs MONGO_AUTHDBNAME
Eve 的 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 从中定位 endpoints/collections 的数据库。类似的 CL 用法是:
mongo> use <MONGO_DBNAME>
这样 host:5000/endpoint
将引用 MONGO_DBNAME
中的 endpoint
集合
然而,当我将 MONGO_DBNAME
设置为我需要从中进行身份验证的数据库以外的任何内容时,访问每个端点都会失败:
OperationFailure: Authentication failed.
所以...
我上面的理解正确吗?
MONGO_DBNAME
和 MONGO_AUTHDBNAME
是否可以不同/settings.py
中的凭据是否必须使身份验证数据库与您希望 endpoints/collections 从中定向的数据库相同?
谢谢
检查问题。简而言之,MONGO_AUTHDBNAME
仅用于旧的 MongoDB 身份验证方案。所以你需要让你的用户在 MONGO_DBNAME
数据库中才能让它工作。
Eve 的 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 从中定位 endpoints/collections 的数据库。类似的 CL 用法是:
mongo> use <MONGO_DBNAME>
这样 host:5000/endpoint
将引用 MONGO_DBNAME
endpoint
集合
然而,当我将 MONGO_DBNAME
设置为我需要从中进行身份验证的数据库以外的任何内容时,访问每个端点都会失败:
OperationFailure: Authentication failed.
所以...
我上面的理解正确吗?
MONGO_DBNAME
和 MONGO_AUTHDBNAME
是否可以不同/settings.py
中的凭据是否必须使身份验证数据库与您希望 endpoints/collections 从中定向的数据库相同?
谢谢
检查MONGO_AUTHDBNAME
仅用于旧的 MongoDB 身份验证方案。所以你需要让你的用户在 MONGO_DBNAME
数据库中才能让它工作。