use*_*369 5 firebase firebase-security firebase-authentication
因此,我正在为我的项目设置 firebase 安全规则,并为用户设置房间的读取权限,我们需要确保他们是该组织的一部分。所以我有一个这样的安全规则:
root.child('organizations').child(data.child('organization_id').val()).child('user_ids').hasChild(auth.uid)
这不仅非常丑陋,同一语句中还有其他几条规则(由 &&/|| 分隔),这些规则root.child('organizations').child(data.child('organization_id').val())以访问与该房间关联的组织变量中的数据开头。
这导致了一些丑陋的安全规则,有什么方法可以制作临时变量或类似的东西,这样我就可以使它更具可读性?谢谢!
这个问题(以及我下面的答案)是关于 Firebase 实时数据库及其安全规则的。
如果您希望在 Cloud Firestore 或 Cloud Storage 安全规则中使用本地变量,那么现在这是可能的。请参阅博客文章Firestore 安全规则的新改进以及本地变量的发行说明。
实时数据库的 Firebase 安全规则语言不支持自定义变量。这确实导致规则之间存在大量重复。
最佳解决方案是使用高级语言编写规则,并将其编译为 Firebase 安全规则。最著名的是Blaze(它们的鼻祖)、Butane(不是来自 Firebase 本身)和Bolt(新的且正在非常活跃的开发中)。
例如 Bolt 允许您定义(全局)函数,它可以轻松封装重复的片段等等。
| 归档时间: |
|
| 查看次数: |
2624 次 |
| 最近记录: |