2013-09-07 7 views
7

私はMongodbサーバーを認証なし(テスト目的)でlocalhost上で実行しています。私のJavaプロジェクトでは、認証フィールドを追加しました(ユーザーが設定を変更できるように、また信頼モードの場合は空白のままにしておきます)。信頼モードを使用したMongodb認証がJavaで失敗する

土9月7日15:04:

ます。testdb受信authenticat eコマンドで17.018 [conn4]フィールド行方不明/間違ったタイプの問題は、それが拒否され、MongoDBの中で、私が得る、ありますなぜこれが起こっているのか知っていますが、それを防ぐ方法は考えられません。その理由は、db.authenticate()が認証に失敗した場合はfalseを返し、認証テストがすでに別の認証情報で成功しているためです。

土9月7日15:04: 127.0.0.1:53602#4(今オープン2つの接続)から受け入れ17.010 [initandlisten]接続

MongoDBのコンソールでは、私は上記のエラーの前にこの権利を取得します

接続の1つは私のシェルで、もう1つはプロジェクトです。ここに私のJavaコードは次のとおりです。

boolean auth = 
db.authenticate(getConfig().getString("Database.username", ""), 
getConfig().getString("Database.password", "").toCharArray()); 
     if (!db.isAuthenticated() && auth == false) { 
       // Stop the application 
     } 

私は醜いなってからコンソールを防ぐために、それを停止する必要があります。私は理由を理解していません:

動作しません。それが無効になるのを止めたはずです。誰かが助けることができれば、それは素晴らしいだろう!

+0

あなたはこの解決策を見つけますか? – Jhanvi

答えて

0

私はこの問題を抱えていたし、自分のアプリケーションのプロパティでこれらを置き換えることによって、それを修正:

spring.data.mongodb.database=test 
spring.data.mongodb.host=localhost 
spring.data.mongodb.password= 
spring.data.mongodb.port=27017 
spring.data.mongodb.username= 

で:

spring.data.mongodb.uri=mongodb://localhost/test 
関連する問題