Firebase 使用特定UID锁定写访问
我想制定一个规则,只有我在登录时才能写入数据库 我的理解是,Firebase 使用特定UID锁定写访问,firebase,firebase-realtime-database,firebase-authentication,Firebase,Firebase Realtime Database,Firebase Authentication,我想制定一个规则,只有我在登录时才能写入数据库 我的理解是,“.write”:“$uid===auth.uid”只限制对授权用户的写入,而不仅仅是对我 我不是100%确定如何做到这一点,所以我最后做的是设置一个GitHub登录(用于2FA) 我从中获取UID并将其添加到我的结构的admins部分,并对其进行规则检查 我不确定这是否真的有效,因为我在这里设置了它,所以我想我应该问问社区 { "rules": { ".write": "root.child('admins').child
“.write”:“$uid===auth.uid”
只限制对授权用户的写入,而不仅仅是对我
我不是100%确定如何做到这一点,所以我最后做的是设置一个GitHub登录(用于2FA)
我从中获取UID并将其添加到我的结构的admins部分,并对其进行规则检查
我不确定这是否真的有效,因为我在这里设置了它,所以我想我应该问问社区
{
"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"
}
}
}
Firebase Admin SDK支持在用户上定义自定义属性
账户。这提供了实现各种访问的能力
Firebase中的控制策略,包括基于角色的访问控制
应用程序。这些自定义属性可以为用户提供不同级别的
访问(角色),在应用程序的安全规则中强制执行
{
"rules": {
"adminContent": {
".read": "auth.token.admin === true",
".write": "auth.token.admin === true",
}
}
}
在我看来是正确的-有什么特别的事情让你不这么想吗?@JeremyW我只是不太了解规则,也不确定我做的事情是否正确。它似乎按照我希望的方式工作,但我想我会问那些比我知道得更多的人。明白了-安全比抱歉更好:)看起来和我过去做的一样,规则设置也一样。看起来不错。Firebase控制台中有一个模拟器,可以让你测试规则是否按照你期望的方式工作。