基于用户角色的Firebase权限

时间:2016-02-05 17:48:59

标签: firebase firebase-security

在我的应用程序中,我应该有三种类型的角色:

  • 商店:可以对其拥有的密钥执行任何类型的读取写入;

  • 客户:只能在指定商店的下方创建聊天键;创建聊天后,他们只能在自己的聊天中推送到消息小孩;

  • 服务员:只能更新指定给他们的聊天,并在消息标记下插入。

数据库类似于:

"$store_id": {
    "owner": STORE_ID,
    "chats": {
        ...
        "$chat_id": {
            "owner": COSTUMER,
            "attendant": ATTENDANT,
            "messages": {
                "$message_id": {
                    "owner": CUSTOMER_ID
                }
            }
        }
        ...
    }
} 

我无法弄清楚如何实现这种行为,因为:

  1. 如果权限应用于顶级节点,则其子级无法覆盖它;
  2. 如果有人使用有效凭证(即:客户')进入数据库,他们可以承担他们想要的任何角色;
  3. 如何在 Firebase 中管理此类问题?

0 个答案:

没有答案