У меня проблема с моей базой данных 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
1
A
ответ
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
Вы получаете «Ошибка аутентификации» сообщение - как вы настройки учетных данных MongoDB? – Ross
В обоих случаях они установлены в mongo uri следующим образом: 'mongodb: // login: password @ host: port/database' – TrexXx
Какая версия MongoDB и какая версия Casbah? – Ross