какое mongodb-соединение (администратор или пользователь) использует для взаимодействия с базой данных

1

Я разрабатываю aС# -webservice, который предоставит некоторые методы для взаимодействия клиента с mongodb.

Мой вопрос: следует ли использовать

→ admin-user для чтения/записи из/в базу данных и позаботиться о авторизации самостоятельно или → должен ли я создать соединение с текущим зарегистрированным пользователем и позволить mongodb позаботиться о авторизации пользователя?

Я спрашиваю, потому что для некоторых пользовательских действий мне нужно запросить пользовательскую базу данных (где только администратор имеет право читать/писать), прежде чем я смогу выполнить метод, где прав пользователя достаточно.

Тобиас

  • 0
    Какую ОС вы используете? Какая подписка на MongoDB у вас есть?
  • 0
    Его ac # -Вебсервис на Windows. Возможно я перенесу это однажды в linux (моно), но не в ближайшем будущем;)
Теги:
mongodb-.net-driver

1 ответ

1

Короткий ответ: Соблюдайте аутентификацию самостоятельно в своем приложении.

Ответ на среднюю длину: Это в основном основано на вашем мнении, и это вопрос, на который вы должны ответить независимо от вашего решения базы данных.

Длительный ответ: Существует 4 разных механизма аутентификации, поддерживаемых MongoDB:

  1. MONGODB-CR - Механизм MongoDB внутреннего вызова-ответа.
  2. x.509 Сертификат (новый в версии 2.6).
  3. Kerberos (только на MongoDB Enterprise).
  4. Прокси- MongoDB Enterprise for Linux LDAP (только для MongoDB Enterprise for Linux).

Я предполагаю, что вы запускаете окна, которые используют Kerberos для аутентификации. Я также предполагаю, что у вас нет подписки на MongoDB Enterprise поскольку она составляет 3X базовой подписки. Если эти допущения верны, вы не можете использовать аутентификацию Windows вошедшего в систему пользователя для доступа к БД. Это означает, что вы должны самостоятельно обрабатывать аутентификацию.

Я рекомендую использовать сертификаты. Это довольно легко, если ваша среда поддерживает его, он не специфичен для MongoDB, и он очень безопасен.

  • 0
    спасибо за ваши ответы!
  • 0
    это просто приватный c # -проект, который я всегда хотел разработать и у меня никогда не было времени. Так что у меня пока нет подписки;) Думаю, мой вопрос был немного вводящим в заблуждение. Я всегда буду создавать пользователей внутри mongodb и не буду использовать Windows-Users или LDAP или что-то подобное. Я просто хотел узнать, достаточно ли создать пользователей с некоторыми правами чтения / записи и позволить mongodb обрабатывать авторизацию. Это будет означать, что я пропущу все запросы от клиента к Монго ... Но я сделаю оба. Позаботьтесь об авторизации и (резервный) mongodb тоже заблокирует ее.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню