在Firebase安全规则中,可以使用通配符来匹配嵌套动态键。以下是一个示例解决方案:
假设你有一个Firebase数据库结构如下:
{
"users": {
"user1": {
"name": "John",
"age": 25
},
"user2": {
"name": "Jane",
"age": 30
}
}
}
现在,假设你想为每个用户设置安全规则,以确保只有特定用户可以访问其个人信息。你可以使用通配符来匹配嵌套动态键,如下所示:
{
"rules": {
"users": {
"$user_id": {
".read": "auth.uid == $user_id",
".write": "auth.uid == $user_id"
}
}
}
}
在上面的示例中,$user_id
是一个通配符,它会匹配任何嵌套动态键。然后,你可以使用$user_id
来检查用户的auth.uid
是否与其相匹配。如果匹配,则允许读取和写入操作。否则,将拒绝访问。
请注意,上述示例是针对Firebase数据库的安全规则。如果你正在使用Firebase的其他产品(如Firestore或实时数据库),则可能需要不同的解决方案。请查阅相应产品的文档以获取更多信息。