当前位置: 首页 > 知识库问答 >
问题:

如何使用这些规则禁止Firebase实时数据库中的用户?

杭涵映
2023-03-14

我已经在我的实时数据库中创建了一个被禁止的用户列表,我想让他们无法登录,我知道我可以使用数据库规则,但我不知道怎么做,有人能帮我吗?

这是我的数据库结构:

/banned-users:
    /UserId1:True
    /UserId2:True

以下是我的数据库规则:

    {
    "rules": {
    ".read": true,
    ".write": true
      }

   }

共有1个答案

微生毅然
2023-03-14

您需要引用其他路径中的数据,如下所示:

{
  "rules": {
    "thepath": {
          ".read": "root.child('banned-users').child(auth.uid).val() !== true"
          ".write": "root.child('banned-users').child(auth.uid).val() !== true"
      }
    }
}

请注意,实际上您并没有“让他们无法登录”,因为这是不可能的,但您会阻止他们向数据库中写入/读取数据。

 类似资料:
  • 我尝试用规则返回用户聊天列表。所以我不知道对话的id。我尝试了几种方法,但都不起作用,因为你必须知道聊天id。 数据库: 规则: 但当我从react本机应用程序访问时。通过身份验证的用户无法访问聊天记录(uid:3Oi1atf8l2P4Vgsb8tZOGxpUg7q2) *读取失败:错误:权限被拒绝/Chats:客户端没有访问所需数据的权限。 规则: 查询:

  • 我使用以下规则检查只有“管理员”才能写入陷阱部分。 这个很好用。但是如果我把规则改为, 然后我得到了一个权限错误。W/SyncTree:侦听/traps失败:数据库错误:权限被拒绝。 我之所以改变结构,是因为我试图使用validate函数,但由于我无法通过第一个问题,我无法达到验证的程度。 我肯定这是一个新手理解错误,但在尝试了许多排列后,我在这方面进展甚微。您的协助将不胜感激。 更新201606

  • 我有一个数据库: 当用户()在应用程序中注册时,他会填充另一个用户uid(该用户uid具有属性)并将自己的uid添加到他的个人资料中(

  • 我使用这个firebase规则: 那么我需要更改firebase规则或更改编码吗?

  • 如果我在公共模式下使用Firebase实时数据库发布我的Android应用程序会怎么样,因为我不需要任何身份验证。它说 公共访问使您的数据库对任何人开放,即使是不使用您的应用的人,因此请务必在设置身份验证时再次限制您的数据库。 我不清楚,如果他们的应用程序没有连接到我的数据库,而且他们也没有firebase帐户的登录密码,那么他们怎么能访问我的数据库。 提前发送Thx