我想制定一条规则,只有登录后才能写数据库。
我的理解是".write": "$uid === auth.uid"
仅限于授权用户,而不仅限于我。
我不确定100%如何做到这一点,所以最终我要做的是设置GitHub登录名(用于2FA)。
我从中获取了UID,并将其添加到我的结构的admins部分中,并进行了规则检查。
我不确定这是否真的可行,因为我在这里设置了它,所以我想问一下社区。 p>
{
"rules": {
".write": "root.child('admins').child('uid').val() == auth.uid",
"admins": {
".read": "false"
},
"users": {
".indexOn": ["id"],
".read": "root.child('admins').child('uid').val() == auth.uid"
},
"posts": {
".indexOn": ["location"],
".read": "true"
}
}
}
答案 0 :(得分:1)
Firebase Admin SDK支持在用户上定义自定义属性 帐户。这提供了实现各种访问的能力 Firebase中的控制策略,包括基于角色的访问控制 应用。这些自定义属性可以为用户提供不同级别的 访问(角色),这是应用程序的安全规则中强制执行的。
{ "rules": { "adminContent": { ".read": "auth.token.admin === true", ".write": "auth.token.admin === true", } } }