Firestore安全规则-可以通过包含其他数组中的任何值的数组来保护文档



我认为答案是否定的,因为我在Firestore文档中找不到引用:

文档

我有一个ACL设置,用户被分配到一个或多个用户角色(基本上是访问列表(,例如

user.roles = [ 'a', 'b', 'c' ]

然后,每个记录也可以提供给一个或多个用户角色,也就是阵列

record.access.roles = [ 'c', 'd' ]

我知道我可以在前端使用包含任何。。。但是,如果任何用户角色出现在记录ACL列表中,我也需要使用返回true的类似条件来保护数据。目前,我只能找到支持IN数组条件的文档。

事实上,文档的这一部分讨论了数组的安全性。数组在查询端包含任意数组,但没有提及是否/如何通过这种方式保护数据。

如果您想要数组的等价项包含any,以确定列表中的项是否存在于另一个列表中,我认为您应该在列表上使用hasAny((进行检查,并将应检查是否存在的其他项的列表传递给它。

一般来说,我会依赖我在这里链接的API文档,而不是正式的产品文档。您链接的文档没有显示您可以做的所有事情的示例。API文档将帮助您了解所有可用的功能。

最新更新