Как пройти аутентификацию на удаленном хосте БД с MongoKit? - PullRequest
5 голосов
/ 15 июля 2011

Я пытаюсь подключиться и аутентифицироваться на удаленном хосте базы данных (dotcloud, mongolabs и т. Д.), Используя MongoKit в Flask.Подключение к серверу работает нормально.Однако я не могу пройти аутентификацию в базе данных.Предположительно, это должно сработать:

from mongokit import Connection
connection = Connection(my_remote_host, my_remote_port)
connection.my_database.authenticate(my_admin_user, my_admin_password)

вызов authenticate () возвращает True, но последующие вызовы для извлечения данных throw:

OperationFailure: database error: unauthorized db

Кто-нибудь знает, что здесь может происходить?

1 Ответ

4 голосов
/ 15 июля 2011

Вероятно, это связано с текущим поведением authenticate() в пимонго.Pymongo не кэширует учетные данные аутентификации между потоками, поэтому каждый поток должен проходить аутентификацию индивидуально.См. Примечание в документации pymongo об использовании authenticate() в многопоточной среде.

...