gpt4 book ai didi

python - 在 Python-Eve 中设置 MongoDB 授权配置

转载 作者:可可西里 更新时间:2023-11-01 10:00:34 25 4
gpt4 key购买 nike

我将 Python-Eve 与启用了授权的 MongoDB 实例一起使用,因此我需要在 settings.py 中提供用户/密码凭据以正确初始化 Python-Eve API。

如果使用MONGO_URI 全局配置设置,声明数据库端点,如here所述它工作得很好:

MONGO_URI = 'mongodb://<someuser>:<somepass>@<host>/<auth_db>'

但是如果我根据 Eve 文档尝试使用其他可能的方式,即在 settings.py 中声明每个部分或 URI 的单独设置,如下所示:

MONGO_HOST = <host>
MONGO_PORT = 27017
MONGO_DBNAME = <mongo_db>
MONGO_USERNAME = <someuser>
MONGO_PASSWORD = <somepass>
MONGO_AUTHDBNAME = <auth_db>

我收到如下错误:

pymongo.errors.OperationFailure: command SON([('saslStart', 1), ('mechanism', 'SCRAM-SHA-1'), ('autoAuthorize', 1), ('payload', Binary(b'n,,n=root,r=MzcxMTQ1MTM3MTExNDYwNg==', 0))]) on namespace testapp.$cmd failed: Authentication failed.

以这种方式工作还缺少什么?

最佳答案

好吧,我弄清楚了让它工作的错误所在。用于检查凭据的身份验证数据库与 MONGO_DBNAME 相同, 不是 MONGO_AUTH_DBNAME值(value)。所以在我的示例中,用户必须存在于 <mongo_db> 中数据库,不在 <auth_db> 中如我所料。

但是,MONGO_AUTHDBNAME 的目的是什么?设置?

关于python - 在 Python-Eve 中设置 MongoDB 授权配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com