如何向Firebase中的指定用户授予写入权限?
我有一个移动应用程序,可以从firebase服务器读取数据,而无需firebase登录/验证(帖子和新闻),我想创建一个管理员网页,在那里我可以登录、添加或修改新闻,因此我需要在那里获得写权限。我目前的规则是:如何向Firebase中的指定用户授予写入权限?,firebase,firebase-realtime-database,firebase-authentication,firebase-security,Firebase,Firebase Realtime Database,Firebase Authentication,Firebase Security,我有一个移动应用程序,可以从firebase服务器读取数据,而无需firebase登录/验证(帖子和新闻),我想创建一个管理员网页,在那里我可以登录、添加或修改新闻,因此我需要在那里获得写权限。我目前的规则是: { "rules": { ".read": true, ".write": "auth !== null && ????? } } 我可以写一些像“user.emailAddress==”这样的东西吗mail@example.com“?您可以在数
{
"rules": {
".read": true,
".write": "auth !== null && ?????
}
}
我可以写一些像“user.emailAddress==”这样的东西吗mail@example.com“?您可以在数据库上创建用户表,如
{
"users":{
"your UID":{
"isAdmin": true
}
}
}
然后编辑规则:
{
"rules": {
".read": true,
".write": "auth.uid != null && root.child("users").child(auth.uid).isAdmin === true"
}
}
您可能希望从阅读有关的文档开始。这里有很多要知道的 一种可能是使用已知用户的uid来限制访问。
auth.uid
变量包含uid
".write": "auth.uid == 'the-known-uid'"
您还可以使用访问有关用户的其他信息,包括电子邮件地址(可能不存在):
您还可以使用自定义身份验证令牌,这也是。创建数据库:
{
"users":{
"your UID":{
"isAdmin": true
}
}
}
设置规则:
错:
{
"rules": {
".read": true,
".write": "auth.uid != null && root.child("users").child(auth.uid).isAdmin === true"
}
}
对:
{
"rules": {
".read": true,
".write": "auth.uid != null && root.child('users').child(auth.uid).child('isAdmin').val() === true"
}
}
{
"rules": {
".read": true,
".write": "auth.uid != null && root.child('users').child(auth.uid).child('isAdmin').val() === true"
}
}