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规则
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Fetch API 如何获取响应体? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01