如何拒绝服务器端的集合插入/更新

时间:2018-04-22 21:39:37

标签: mongodb security meteor collections

我有一个Meteor应用( A )连接到一些制作远程馆藏(由其他应用 B 使用),我只想要< strong> A 从B系列中读取数据,不修改B的馆藏数据(即使修改发生在的服务器端乙)。
我如何在 A

中进行此操作

1 个答案:

答案 0 :(得分:1)

您可以完全控制Meteor应用服务器代码在数据库中的功能。

要确保您的应用A服务器代码无法写入数据库,只需从不使用任何集合insertupdateupsert方法。

Meteor特别之处在于它还可以允许客户端启动数据库修改:只需确保删除insecure包并从不使用集合allow方法在您的服务器代码中。

现在,针对您的案例的非常简单,防弹和标准的练习解决方案就是为您的应用A创建一个不同的数据库用户,只有读取权限,如@NeilLunn所述。这个不同的数据库用户凭据是您传递给应用A的MONGO_URL变量的一部分,因此这是将应用A连接到与应用B共同的远程数据库的唯一方法。