ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 基于数据对象的Firebase用户写入/读取规则

2019-07-28 10:42:48  阅读:168  来源: 互联网

标签:firebase-security firebasesimplelogin javascript firebase


我正在使用firebase,我的用户设置如下:

{
    "firebase-account-123": {
        "users": {
            "simplelogin:1": {
                "properties"{ "name": "john doe", "email": "user@email.com" }
                "children": {
                    "simplelogin:2":{ "name": "user 2", "email": "user2@email.com" },
                }
            },
            "simplelogin:2": {
                "properties"{ "name": "user 2", "email": "user2@email.com", "disabled": false }
            }
        }
}

我有“孩子”,帐户经理应该有权访问.我是新手,我正在尝试解决我遇到的一些权限问题.

我的规则目前只允许用户读/写自己的数据.

“.read”:“auth.uid == $userid”,“.write”:“auth.uid == $userid”

有谁知道我怎么能这样做,所以他们也有能力为他们的“子”对象中列出的用户写入/读取数据(可能只是在属性对象中)?

解决方法:

如果要允许子桶下列出的用户ID也读取和写入数据,请尝试在安全规则中使用hasChild()方法.

例如,使用您在上面概述的相同数据结构:

{
  "rules": {
    ".read": false,
    ".write": false,
    "users": {
      "$userid": {
        ".read": "auth.uid == $userid",
        ".write": "auth.uid == $userid",
        "properties": {
          ".read": "root.child('users').child(auth.uid).child('children').hasChild($userid)"
        }
      }
    }
  }
}

标签:firebase-security,firebasesimplelogin,javascript,firebase
来源: https://codeday.me/bug/20190728/1560674.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有