Аутентификация REST API MongoDB - PullRequest
       2

Аутентификация REST API MongoDB

8 голосов
/ 07 сентября 2011

Я думаю об использовании MongoDB в качестве основной базы данных.Тем не менее, мое приложение полностью на JavaScript, и я хотел использовать REST API, на стороне клиента.

Я до сих пор не могу понять, какие механизмы безопасности я могу использовать, чтобы сделать JS-вызов к базе данных, не раскрываявсе данные для всех пользователей.

Пожалуйста, советуйте по этому вопросу.

С уважением, Дональд

Ответы [ 4 ]

5 голосов
/ 07 сентября 2011

Прежде всего, вы можете активировать аутентификацию базы данных, при которой интерфейсу REST потребуется аутентификация при подключении с удаленного компьютера.

Тем не менее, очень плохая идея выставлять вашу базу данных, как вы предлагаете. Создайте уровень абстракции персистентности в удобной для вас серверной технологии (например, node.js) и поместите все ограничения безопасности и аутентификации. Преимущества многочисленны:

  • Вы можете сохранить свой API стабильным, даже если MongoDB один изменится. Вы даже можете заменить его другим постоянным решением, если в большинстве случаев возникает необходимость.
  • Вы можете ограничить нагрузку, которую один клиент может поместить в вашу базу данных. Если вы откроете базу данных напрямую, вы сможете сделать очень мало, чтобы люди не делали дорогостоящие запросы и даже не могли испортить записи.
  • Вы можете часто выполнять интеллектуальное кэширование и оптимизацию на стороне приложения, что невозможно, если каждый клиент напрямую обращается к базе данных (хотя это немного зависит от рассматриваемого приложения).
2 голосов
/ 07 сентября 2011

Проверьте Sleepy.Mongoose , это интерфейс REST API для MongoDB. Я не пробовал, но он поддерживает стандартную аутентификацию MongoDB.

1 голос
/ 18 августа 2012

MongoLab имеет хостинг баз данных MongoDB с API REST, к которому можно получить доступ на стороне клиента, даже в некоторых примерах, основанных на jQuery, в документации по поддержке.Тем не менее, Remon прав, что вы жертвуете любой защитой, делая это, потому что вы делаете свой ключ API общедоступным.

0 голосов
/ 29 сентября 2015

RESTHeart - это веб-API для MongoDB.

Предоставляет авторизацию и аутентификацию на уровне приложения.

Проверьте раздел документации security .

Также на github доступны некоторые примеры приложений:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...