#c# #mongodb #authentication
#c# #mongodb #аутентификация
Вопрос:
У меня есть веб-приложение .net core и я использую строку подключения:
mongodb://superadmin:XXXX@production01:27017,production02:27017/?authSource=adminamp;minPoolSize=9000amp;maxPoolSize=999999amp;safe=trueamp;connect=replicaset,replicaSet=XXXXXamp;compressors=zstd,zlib,snappyamp;zlibCompressionLevel=7
У меня есть первичный, вторичный и арбитр. На сервере АРБИТРА (не в connectionstring) я получаю следующие каждые секунды, из-за чего на моем сервере не хватает места на диске. Это имеет смысл, потому что арбитр не содержит никакой базы данных. Как мне сделать так, чтобы мое приложение не аутентифицировалось с арбитром? Есть идеи?
{"t":{"$date":"2020-09-22T02:40:00.115 00:00"},"s":"I", "c":"ACCESS", "id":20249, "ctx":"conn2824","msg":"Authentication failed","attr":{"mechanism":"SCRAM-SHA-256","principalName":"superadmin","authenticationDatabase":"admin","client":"162.xx.xx.xx:24342","result":"UserNotFound: Could not find user "superadmin" for db "admin""}}
Комментарии:
1. Обновите драйвер до последней версии.
2. Я использую версию v2.11.2, которая является последней.
3. Файл журнала должен содержать гораздо больше записей и, конечно же, не страдает от этих нескольких
ACCESS
журналов. Используйте logrotate , чтобы сохранить папку журнала чистой.4. jira.mongodb.org/browse/CSHARP-2803 . Возможно, вы ошибаетесь относительно источника попыток аутентификации.