2012-05-04 2 views
1

Я использую playframework -v 1.2.4 и используя плагин morphia. Когда я запускаю тест игры, и соединиться с mongolab дБ, генерируется исключение со следующей ошибкой:Получение ошибки аутентификации mongodb

Oops: RuntimeException 
An unexpected error occured caused by exception RuntimeException: 
MongoDB authentication failed: mydb 

Мой application.conf следующим образом ..,

application.mode=dev 
%prod.application.mode=prod 
morphia.db.host=ds033187.mongolab.com 
morphia.db.port=33187 
morphia.db.username=demo 
morphia.db.password=demo 
morphia.db.name=mydb 

Но вышеуказанные полномочия могут для связи с mongodb

D:\mongodb-win32-i386-2.0.1\bin>mongo ds033187.mongolab.com:33187/mydb -u demo -p demo 
MongoDB shell version: 2.0.1 
connecting to: ds033187.mongolab.com:33187/mydb 
> 

Но я получаю соединение с оболочкой mongodb. Почему я получаю эту ошибку?

ответ

1

Я предполагаю, что вы используете модуль PlayMorphia, и принимая quick look at the documentation, он использует «morphia.db.seeds» вместо «morphia.db.host».

Возможно, так как термин «семена» не указан, модуль morphia подключается к локальному хосту.

+0

Он может работать с локальным хостом. Но проблема заключается в том, чтобы работать с «Монголабом». Поддерживает ли поддержка фрейма mongolab –

+0

Игра - это ontop of Morphia, которая является ontop официального Java Mongo Driver. Я не понимаю, почему монголаб не поддерживался. Протокол Mongo довольно прост, и после того, как соединение сокета находится за пределами вашего компьютера, monogolab не должен указывать разницу между java-клиентом или терминальным клиентом. – Nican

0

имел ту же проблему. я предполагаю, что Вы добавили пользователя через

use admin 
db.addUser("user", "pw") 

однако, играют морфий, похоже, для проверки подлинности очень дб вы используете, не против администратора БД. следующая решена моя проблема:

/path/to/mongo 
use admin 
db.auth("user", "pw") 
use myDatabase 
db.addUser("user", "pw") 

теперь должен работать :)

Смежные вопросы