允许基于用户在ShareDB中存储的文档数据进行操作

时间:2018-07-03 21:17:39

标签: javascript node.js sharedb

我正在尝试使用sharedb实现一个小型软件,其中多个用户可以协作将项目添加到列表中,但是只有添加了一个项目的用户才能删除它。

我正在使用的所有访问控制都是在服务器端完成的。

我使用sharedb-access添加了基本的访问控制,但是现在我想存储将项目添加到列表中的用户。为此,我使用了allowUpdate调用,该调用接收旧文档,新文档以及更新操作列表。

我的想法是检查操作中项目的添加或删除(或通过使用新旧文档的差异):如果用户要添加项目,我将在文档中存储有关作者的信息,如果用户尝试删除一个元素,我将检查作者是否允许删除尝试的用户。

为此,我需要在更新过程中修改文档,但是我不确定这是否是一件好事,以及如何正确进行操作。首先,sharedb-access似乎不提供对其作用的文档的写访问权限(我尝试从一个allowUpdate规则内部修改文档,但没有任何反应。)

第二,我不知道在更新时修改文档是否是个好主意。

如何在文档中存储有关哪个用户执行了某些更改的信息,并确保只有服务器端中间件才能对这些信息采取行动?理想情况下,客户端不应该访问它,但是如果可以的话也可以。

0 个答案:

没有答案