首页 > 解决方案 > Firebase 规则以特定子值为条件

问题描述

我写了这个规则:

"users": {
    "$uid": {
        ".read": "$uid === auth.uid",
        "username":{
          ".write": "data.val() == 'null'"
        }
     }
},

目标:只有当用户名的值为“null”时,用户才能更改他的用户名。不幸的是它不起作用(我也尝试过验证)。我写错了还是这不可能?

编辑:我的结构就像规则:

/rules
   /id
     /username
     /email
     /state
     /...

firebase.database().ref("users/" + firebase.auth().currentUser.uid).update({ username: "test"})→ FIREBASE 警告:在 /users/myid 更新失败:permission_denied

firebase.database().ref("users/" + firebase.auth().currentUser.uid+"/username").set("test")→ FIREBASE 警告:设置在 /users/myid/username 失败:permission_denied

标签: firebasefirebase-realtime-databasefirebase-security

解决方案


推荐阅读