首页 > 解决方案 > Firebase 基于角色的授权

问题描述

我有 3 个用户,分别是管理员、经理和用户。如何在 Firebase 中创建基于角色的功能?管理员可以查看、写入特定页面,管理员可以读取、写入、编辑,而用户只能读取?在我的数据库 firebase(实时)上,我更改为以下规则:-

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

我被这个困住了。我设法创建了一个帐户,但它不限于页面。我怎样才能改变它?请帮我

标签: firebasefirebase-realtime-databaseionic2firebase-security

解决方案


请参阅使用自定义声明和安全规则控制访问

Firebase Admin SDK 支持在用户帐户上定义自定义属性。这提供了在 Firebase 应用中实施各种访问控制策略的能力,包括基于角色的访问控制。这些自定义属性可以为用户提供不同级别的访问权限(角色),这些权限在应用程序的安全规则中强制执行。

{
  "rules": {
    "adminContent": {
      ".read": "auth.token.admin === true",
      ".write": "auth.token.admin === true",
    }
  }
}

推荐阅读