2015-05-22 5 views
1

У меня проблема с моей базой данных mongo с Casbah, и она отлично работает с ReactiveMongo. Вот код, используемый с Casbah: val client = MongoClient(MongoClientURI("my_uri")) и с ReactiveMongo: this.driver(actorSystem).connection(MongoConnection.parseURI("my_uri")). ошибка, с которой я столкнулся с Casbah: { "serverUsed" : "host:27017" , "ok" : 0.0 , "errmsg" : "auth failed" , "code" : 18}. Любая идея, откуда это может произойти?Не могу соединиться с Casbah, но он работает с ReactiveMongo

+0

Вы получаете «Ошибка аутентификации» сообщение - как вы настройки учетных данных MongoDB? – Ross

+0

В обоих случаях они установлены в mongo uri следующим образом: 'mongodb: // login: password @ host: port/database' – TrexXx

+0

Какая версия MongoDB и какая версия Casbah? – Ross

ответ

0

Возможно, вам нужно будет явно указать свойство authMechanism, если оно не используется по умолчанию для сервера MongoDB.

До MongoDB 3.0 механизм аутентификации по умолчанию был MONGODB-CR, протокол «MongoDB Challenge-Response». В MongoDB 3.0 значение по умолчанию было изменено на SCRAM-SHA-1.

Если нет authMechanism, тогда базовый драйвер Java выберет наиболее безопасный механизм, доступный на основе версии sever.

Попробуйте обновить строки подключения к:

mongodb://login:[email protected]:port/database?authMechanism=MONGODB-CR 
+1

Нет, к сожалению, он не работает. – TrexXx