How to set firebase rules based on database user id (not uid)(如何根据数据库用户ID(而不是UID)设置Firebase规则)
问题描述
您好,我的fb数据库中有一个用户列表。用户ID是在成功注册后自动生成的,每个用户条目都有名称、电子邮件和UID。此外,这些属性中的每一个都被索引到/index中,这样我就可以根据用户的uid轻松地查找他们的id。
根据文档,Firebase说使用WRITE:$USER_ID=auth.uid
如何使用生成的ID而不是uid来完成此操作?
这里是fb数据库:https://medviz.firebaseio.com/
推荐答案
在您的用户对象中将有这样的用户
users : {
user1234abc:{
name: "abc"
},
user2434dbcc:{
name: "abc"
}
}
用户对象中将有许多unique key/user nodes,例如user1234abc、user2434dbcc
variable在规则中不必将其命名为$user_id,您可以随心所欲地命名它,例如,对于唯一用户键,您可以将变量命名为$any_variable
和Auth.id中,只要用户成功验证了auth.uid中相同唯一ID,因此当您编辑与该用户相关的信息时,可以在任何地方计算auth.uid
例如,如果auth.uid包含user1234abc并且如果user1234abc正在编辑此对象user1234abc:{name: "abc" },则他将能够
查看下面的更新视图
已更新视觉层次结构:
--schema--
users : {
________________
|
user1234abc:{ |
name: "abc" |
}, |
user2434dbcc:{ |
name: "abc" |
} |
} key can be name as any variable in rules
|
-- rules--
|
{ |
"rules": { |
"users": { |
".read": true, |
________________|___________
| |
|/ |
"$any_variable": { |/
".write": "$any_variable === auth.uid"
}
}
}
}
这篇关于如何根据数据库用户ID(而不是UID)设置Firebase规则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何根据数据库用户ID(而不是UID)设置Firebase规则
基础教程推荐
- HTML5 画布调整为父级 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
