加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 需要检查数组中值的Firebase规则(安全规则中的cont

发布时间:2020-12-17 17:41:18 所属栏目:安全 来源:网络整理
导读:如何在firebase规则中检查数组中的值.我想做这样的事情: root.child('connections/'+auth.uid).child('friends').child(someFriendId).exists() 因此,在当前用户的连接节点下,如果在friends数组中存在someFriendId,则允许访问. ‘someFriendId’不是friends
如何在firebase规则中检查数组中的值.我想做这样的事情:

root.child('connections/'+auth.uid).child('friends').child(someFriendId).exists()

因此,在当前用户的连接节点下,如果在friends数组中存在someFriendId,则允许访问. ‘someFriendId’不是friends数组的键,也就是使用firebase push()方法生成的自动ID.

解决方法

一般来说,avoid arrays in distributed data,并在结构数据指南中阅读 Arrays in Firebase.

您无法在Firebase安全规则中执行“包含”.相反,您需要将用户存储为密钥,类似于we demonstrate this use case in the security docs.

因此,给出您的示例,唯一的更改是使用用户ID替换数组索引,并将值更改为布尔值(或任何其他有用的值).然后您的安全规则可以构造为:

root.child('connections/'+auth.uid+'/friends/'+someFriendId).exists();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读