2011-07-14 4 views
5

Flask内のMongoKitを使用して、リモートデータベースホスト(dotcloud、mongolabsなど)に接続して認証しようとしています。サーバーに接続すると正常に動作しているようです。しかし、私はデータベースに認証することができません。おそらく、これは動作するはずです:MongoKitを使用してリモートdbホストを認証する方法は?

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

コールを認証するために()はtrueを返し、まだ後続の呼び出しをデータが投げるフェッチする:

OperationFailure: database error: unauthorized db 

誰もがここで起きているかもしれないものを知っていますか?

答えて

4

これは、pymongoの現在の動作がauthenticate()である可能性があります。 Pymongoはスレッド間で認証資格情報をキャッシュしないため、各スレッドは個別に認証する必要があります。マルチスレッド環境でauthenticate()を使用する方法については、note in the pymongo documentationを参照してください。

+0

PyMongoは、バージョン2.0以降のスレッド間の認証を処理します。http://api.mongodb.org/python/current/changelog.html#changes-in-version-2-0 – diazdeteran

関連する問題