firebase-realtime-database - Firebase 实时数据库的安全规则中的级联
问题描述
{
"rules": {
"USER":{
"$uid":{
".write": "auth.uid == $uid && auth.uid != null",
".read": "auth.uid == $uid && auth.uid != null",
"DELETE_ARTICLE":{
".write": "auth.uid == $uid && auth.uid != null",
".read": false
},
"FOLDER":{
".write": "auth.uid == $uid && auth.uid != null",
".read": "auth.uid == $uid && auth.uid != null"
}
}
}
}
}
我想让用户在“USER/{$uid}”中阅读他们的字段,而不是在“USER/{uid}/DELETE_ARTICLE”中。但由于级联条件,我不能这样做。我应该怎么办。
解决方案
正如您发现权限向下级联:一旦您授予某人对某个节点的读或写权限,您就不能在较低级别取消该权限。
这意味着,如果您希望对部分数据具有不同的权限,则需要将这些部分放在数据库的单独分支中。例如,您可以:
USER: {
"$uid": {
...
}
},
DELETE: {
"$uid": {
...
}
}
现在您可以授予对/USER/$uid
和的单独权限/DELETE/$uid
。
推荐阅读
- .net-core - 为 .NET Core 3.1/IdentityModel 5.1 使用 ResourceOwnerPassword 流
- asp.net-mvc - 在 ASP.net core mvc 上运行 unity webgl 文件
- django - Django Rest Framework 不会正确序列化 GeoJSON
- sql - Oracle SQL:无法创建过程
- php - 在 Ununtu 中激活 PHP 扩展
- gis - Netlogo 变量作为面板格式的 txt (csv) 文件并与 GIS 文件链接
- configuration - 是否可以在 alacritty 中创建程序特定规则?
- json - python如何将包含多个数组的json转换为pandas数据框
- python - Python:从熊猫时间戳计算导数
- r - 是否有一个 R 函数来子集和删除与 ID 关联的最早日期?