REST API MongoDB身份验证

don*_*ald 8 mongodb

我正在考虑使用MongoDB作为我的主数据库.但是,我的应用程序完全使用JavaScript,我想使用REST API,客户端.

我仍然无法理解我可以使用哪些安全机制来对数据库进行JS调用而不向所有用户显示所有数据.

请就此事提出建议.

问候,唐纳德

Rem*_*iet 5

首先,您可以启用数据库身份验证,如果从远程计算机连接到REST接口,则需要进行身份验证.

也就是说,像你建议的那样暴露你的数据库是一个非常糟糕的主意.在您熟悉的服务器技术(例如node.js)中构建持久性抽象层,并将所有安全约束和身份验证放在那里.优点很多:

  • 即使MongoDB发生变化,您也可以保持API稳定.如果在大多数情况下需要,您甚至可以用其他持久性解决方案替换它.
  • 您可以限制单个客户端可以在数据库上加载的负载.如果您直接公开数据库,那么您可以做的很少,以避免人们进行昂贵的查询甚至可能破坏写入.
  • 您通常可以进行智能的应用程序端缓存和优化,如果每个客户端都直接访问数据库,这是不可能的(这取决于有问题的应用程序).