【发布时间】:2019-05-29 06:44:36
【问题描述】:
我找不到任何方法来访问在 Firebase 规则中写入的数据的名称,这对我来说非常重要。 Firebase 规则是否支持这样的事情?
"tests":{
"$test":{
".read": "auth.uid != null",
".write": "auth.uid != null
"$user_id":{".validate": "newData.isBoolean() && auth.uid == NewData.NAME(?)"}
}
}
将要写入的示例数据:
{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true
}
示例数据库结构:
"tests":{
"test1":{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true,
"A4sfgYhred1festfsefsSRGFsgr3": true,
"7JIsfgYhred1festfsefsSRGFsg8": true,
}
"test2":{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true,
"A4sfgYhred1festfsefsSRGFsgr3": true,
"7JIsfgYhred1festfsefsSRGFsg8": true,
}
}
【问题讨论】:
-
您能否编辑您的问题以包含您尝试使用的安全规则示例?
-
@FrankvanPuffelen 我写了一个快速示例。其背后的想法是我不希望用户在此公共 $test 节点下创建与用户 ID 不同的任何其他节点。
-
用
$test代替newData.NAME(?)。 -
@FrankvanPuffelen 但它是针对它下面的节点的。此外,任何经过身份验证的人都必须可以创建 $test 节点。可能我应该使用 validate 。为了更好地理解,我添加了一个示例数据库结构。你能检查一下 Puffelen 先生吗?
标签: firebase firebase-realtime-database firebase-security