身份验证数据库设置无法使用 mongoDB URI 配置
Authentication DB setting not working using mongoDB URI configuration
我正在尝试将 pyeve 与 MongoDB Atlas 副本集 (https://cloud.mongodb.com/) 连接起来。我已成功连接来自同一主机的数据库管理工具,以确保部署工作正常。
一个特殊性是使用Atlas,所有用户都必须对auth
数据库进行身份验证,我不能将我的用户放在应用程序数据库中,所以我需要在MONGO_URI
中设置authSource
.
现在,在为副本集定义 MONGO_URI
时,在 settings.py
中,像这样:
MONGO_URI = mongodb://<USER>:<PASS>@my-shard-00-00-tlati.mongodb.net:27017,my-shard-00-01-tlati.mongodb.net:27017,my-shard-00-02-tlati.mongodb.net:27017/<MY_DB>?ssl=true&replicaSet=my-shard-0&authSource=admin
authSource=admin
参数似乎被忽略了,(我检查了调试pymongo的auth,使用的认证源是None
)。
MONGO_AUTH_SOURCE
可用于设置授权数据库,但它没有任何效果,因为根据 eve 的 documentation,MONGO_URI
优先于其他配置变量使用。 =23=]
这是个问题还是我做错了?
发现问题是我为 flask-pymongo
使用了 0.4.1 版。将它更新到版本 0.5.1 解决了这个问题。
我正在尝试将 pyeve 与 MongoDB Atlas 副本集 (https://cloud.mongodb.com/) 连接起来。我已成功连接来自同一主机的数据库管理工具,以确保部署工作正常。
一个特殊性是使用Atlas,所有用户都必须对auth
数据库进行身份验证,我不能将我的用户放在应用程序数据库中,所以我需要在MONGO_URI
中设置authSource
.
现在,在为副本集定义 MONGO_URI
时,在 settings.py
中,像这样:
MONGO_URI = mongodb://<USER>:<PASS>@my-shard-00-00-tlati.mongodb.net:27017,my-shard-00-01-tlati.mongodb.net:27017,my-shard-00-02-tlati.mongodb.net:27017/<MY_DB>?ssl=true&replicaSet=my-shard-0&authSource=admin
authSource=admin
参数似乎被忽略了,(我检查了调试pymongo的auth,使用的认证源是None
)。
MONGO_AUTH_SOURCE
可用于设置授权数据库,但它没有任何效果,因为根据 eve 的 documentation,MONGO_URI
优先于其他配置变量使用。 =23=]
这是个问题还是我做错了?
发现问题是我为 flask-pymongo
使用了 0.4.1 版。将它更新到版本 0.5.1 解决了这个问题。