2013-05-17 2 views
6

Я работаю с Mongodb как базу данных для моего первого сайта asp.net mvc. У меня есть MongoDB, работающий на 3 серверах, в наборе реплик, первичный, вторичный и арбитр. Подключение к этому - это 3 веб-сервера, которые выполняют CRUD-операции с данными, хранящимися в Mongo. У меня есть ряд вопросов по моей настройке, о которых я хотел бы рассказать.Общие сведения о строках подключения MongoDb

Это моя строка соединения с C#

server=myprimary.com:27017,mysecondary.com:27017;replicaset=MySet;safe=true;database=MyDatabase 

это правильно, чтобы не включать арбитр в этой строке соединения?

Когда я работаю с сервером sql, я настроил все свои строки подключения со встроенной безопасностью. Какова наилучшая практика для подобных строк в Монго?

+0

Это может помочь http://www.code-sample.com/2016/07/mongodb-connection-string-username.html –

ответ

3

Правильно ли включить арбитр в эту цепочку?

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

Единственная вещь, которую вы можете предоставить в mongoURI, - это опция SSL или имя пользователя и пароль для базы данных, которую вы хотите подключить. Но позвольте мне напомнить, что некоторые из драйверов не соблюдают SSL или «имя пользователя» и «пароль» в mongoURI.

http://docs.mongodb.org/manual/reference/connection-string/#uri.ssl

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 
0

Я предлагаю вам проконсультироваться the documentation. Он может ответить на большинство ваших вопросов. Кроме того, я вижу, что вы используете альтернативный синтаксис строки соединения. Я настоятельно рекомендую перейти на другой формат строки подключения, поскольку мы, скорее всего, будем осуждать используемую вами версию. Эквивалентная строка подключения будет

mongodb://myprimary.com:27017,mysecondary.com:27017/MyDatabase/?replicaset=MySet. 

Наконец, вы найдете документацию по предыдущей ссылке, касающуюся аутентификации. У нас нет опции «интегрированной безопасности», но мы поддерживаем интеграцию SSPI (также называемую GSSAPI и kerberose). В нашей документации вы найдете ссылку на внешнюю аутентификацию. Предостережение заключается в том, что сервер MongoDB, на котором вы работаете, должен находиться в ящике Linux и настраиваться с помощью kerberos. Это может быть complicated process при использовании в сочетании с Active Directory, чтобы получить файл keytab.

+0

Спасибо за эту информацию. Я работаю на сервере Windows, чтобы у меня были варианты аутентификации ? – amateur

+0

Если вы выполняете исполняемый файл mongodb на сервере Windows, все, что у вас есть, это встроенная проверка подлинности. Как и в случае, пользователи и пароли хранятся в MongoDB. –

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