2015-10-24 2 views
0

У меня есть проблема с использованием play-reactivemongo для подключения к MongoDB 3 и столкнулась с проблемой «', не разрешенной для запроса на XXX (код = 13)». Программа работала отлично, когда MongoDB был запущен без --auth.Ошибка аутентификации Play-ReactiveMongo с MongoDB 3

Версия базы данных должна быть 3.0.4, как показано в журнале.

2015-10-24T15:58:09.868+0800 I CONTROL [initandlisten] db version v3.0.4 

Я использовал версию 0.11.7 play2-reactivemongo плагин.

libraryDependencies ++= Seq(
    "org.reactivemongo" %% "play2-reactivemongo" % "0.11.7.play24", 

Я указал authMode в mongodb.uri, как это.

mongodb.uri = "mongodb://postsUser:[email protected]:27017/posts?authMode=?authMode=scram-sha1&authSource=posts&rm.tcpNoDelay=true" 

Я нашел следующую ошибку в файле mongodb.log.

2015-10-24T16:41:24.977+0800 I ACCESS [conn105] Failed to authenticate [email protected] with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document 

Почему MONGODB-CR используется вместо SCRAM-SHA-1? Предположим, что SCRAM-SHA-1 должен быть по умолчанию, верно?

+0

Хорошо, обновление до MongoDB 3.0.7 решена часть проблемы. Будет «не авторизованная» ошибка, и последующий доступ будет прекрасен. В mongodb.log видно, что соединение не удалось, а затем стало хорошо. "2015-10-25T01: 08: 52.286 + 0800 I QUERY [conn23] утверждение 13 не разрешено для запроса на posts.posts ns: posts.posts query: {} 2015-10-25T01: 08: 52.292 + 0800 I ACCESS [conn23] Успешно заверен как основной столбец в сообщениях « –

+0

Я думаю, что сделал опечатку в mongodb.uri (authMode =? authMode = scram-sha1) и заставляя БД проходить проверку подлинности с помощью mongodb-cr. К сожалению, я не смог повторить попытку с 3.0.4, так как обновил до 3.0.7 –

ответ

0

К сожалению, я сделал опечатку в mongodb.uri

authMode=?authMode=scram-sha1 

и вызывая БД для проверки подлинности MongoDB-кр. Тем не менее, я все еще получил ошибку «не авторизованного запроса» при первом доступе к БД, и последующий доступ к db был прекрасен. В mongodb.log я мог видеть следующее.

2015-10-25T01:28:45.242+0800 I QUERY [conn33] assertion 13 not authorized for query on posts.posts ns:posts.posts query:{} 
2015-10-25T01:28:45.247+0800 I ACCESS [conn33] Successfully authenticated as principal postsUser on posts 

Мне лучше начать другой вопрос завтра.

1

Добавление данных следующее в строке подключения работает для меня

authMode=scram-sha1 

поэтому окончательная строка соединения

mongodb://user:[email protected]:27017/litmus?3treadPreference=primary&authMode=scram-sha1 

У меня также есть nodejs скрипт, подключая к той же БД, что интересно он подключается совершенно без добавления authMode=scram-sha1 флаг.

Кажется, необработанный случай реактивных Монго

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