与firebase规则混淆(读写)

时间:2018-02-17 23:54:52

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

我正在使用Firebase制作IOS应用,但似乎我遇到了一个奇怪的问题。

这是我目前的数据库规则:

{
"rules": {
".read": "auth == null",
".write": "auth != null"
    }
}

在ma主应用程序中,我能够以数据库的用户或非用户身份进行读写。 我使用第二个应用程序通过远程编辑我的数据库。他们有相同的firebase项目,所以相同的数据库。 我在第二个应用程序上注册,但我无法在数据库上书写和阅读。 康索尔说“许可被拒绝”。

如果我只是将我的数据库规则更改为:

 {
"rules": {
".read": "auth != null",
".write": "auth != null"
      }
}

我能够读写它。

请帮我理解。

2 个答案:

答案 0 :(得分:1)

{   
 {
   "rules": {
   ".read": "auth == null",
   ".write": "auth != null"
  }
}

在第一个规则案例中,.read设置为auth == null,这意味着只有在身份验证/登录时,您才能从数据库中读取。< / p>

.read更改为auth != null表示您只能在数据库中 时进行身份验证。

有更多信息here in the Firebase documentation

答案 1 :(得分:0)

正如@creativecreatorormaybenot回答“.read”:“auth == null”只允许在用户未登录时读取数据。

如果您想允许经过身份验证和未经身份验证的用户读取您要使用的数据:

".read": true