2011-07-14 15 views
5

Próbuję połączyć się i uwierzytelnić na zdalnym hoście bazy danych (dotcloud, mongolabs, itp.) Za pomocą MongoKit wewnątrz Flask. Łączenie się z serwerem działa dobrze. Jednak nie mogę uwierzytelnić się w bazie danych. Przypuszczalnie to powinno działać:Jak uwierzytelnić się na zdalnym hoście db z MongoKit?

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

wezwanie do uwierzytelnienia() zwraca wartość true, jeszcze kolejnych połączeń do pobierania rzucać dane:

OperationFailure: database error: unauthorized db 

ktoś wie co może być tutaj dzieje?

Odpowiedz

4

Jest to prawdopodobne ze względu na obecne zachowanie authenticate() w pymongo. Pymongo nie buforuje danych uwierzytelniających między wątkami, dlatego każdy wątek musi być uwierzytelniany indywidualnie. Zobacz note in the pymongo documentation na temat korzystania z authenticate() w środowisku wielowątkowym.

+0

PyMongo obsługuje uwierzytelnianie między wątkami od wersji 2.0: http://api.mongodb.org/python/current/changelog.html#changes-in-version-2-0 – diazdeteran

Powiązane problemy