Firebase规则:只允许用户编辑自己的个人资料,但只能创建新用户

时间:2018-03-04 07:59:46

标签: firebase firebase-realtime-database firebase-security-rules

我花了最后一天尝试在firebase规则上做点什么,但我似乎无法在任何地方找到解决方案。我对这个Firebase规则很新,所以请耐心等待:)。

目前我有以下规则:

{
  "rules": {
    "users": {
      "$user_id": {
        // grants write access to the owner of this user account
        ".write": "auth != null && $user_id === auth.uid",
        ".read": "auth != null && $user_id === auth.uid"
      }
    }
  }
}

只允许具有相同ID的用户读取和写入其数据。但是,问题有点复杂。

如果新用户注册,则该数据库中没有该用户的记录。所以我需要在用户内部创建一个新节点。我怎样才能做到这一点?我不知道在哪里放置条件,所以它们不会相互干扰。

一点点解释会很好,我对这种规则感到很失望。或者如果您建议更好的方法来解决这个问题,请告诉我们!

这是我用来创建新用户的代码:

var usersRef = firebase.database().ref('users'); 
usersRef.push({"hlo": "asdsd"}); 

但它给了我PERMISSION_DENIED。

0 个答案:

没有答案