Firebase数据库规则-这是否必要?

Firebase数据库规则-这是否必要?,firebase,google-cloud-firestore,firebase-authentication,firebase-security,Firebase,Google Cloud Firestore,Firebase Authentication,Firebase Security,Firebase的数据库规则是否绝对必要?在我的应用程序中,我做到了只有知道密码的用户才能登录到自己的帐户。然后每次我访问firestore时,我只提取属于该用户id的数据。那么,为什么需要firebase的规则呢?这只是次要的衡量标准吗?问是因为我在测试firebase规则时也遇到了很多问题 例如 我有下面的规则,但它们不起作用,但如果不将我的整个代码文件发布在这里(我觉得这样做不舒服),没有人能真正帮助我找出它不起作用的原因。下面的代码在理论上应该有效,但实际上无效 rules_versio

Firebase的数据库规则是否绝对必要?在我的应用程序中,我做到了只有知道密码的用户才能登录到自己的帐户。然后每次我访问firestore时,我只提取属于该用户id的数据。那么,为什么需要firebase的规则呢?这只是次要的衡量标准吗?问是因为我在测试firebase规则时也遇到了很多问题

例如

我有下面的规则,但它们不起作用,但如果不将我的整个代码文件发布在这里(我觉得这样做不舒服),没有人能真正帮助我找出它不起作用的原因。下面的代码在理论上应该有效,但实际上无效

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    match /routines/{routine} {
        allow read, write, update: if request.auth != null && resource.data.uid == request.auth.uid;
    }
  }
}

如果不显示执行不起作用的查询的代码,就无法判断规则是否起作用。如果不与查询配对,这些规则就没有任何意义。是的,除非你想让互联网上的任何人读写你数据库中的所有数据,否则直接访问应用程序的规则是必要的。除非这是您想要的。此外,如果您需要对规则进行身份验证,您必须确保用户已登录。您的代码示例应该帮助我们确定这是事实。当您说它们不起作用时,您的意思是什么?您是说未登录的用户可以从users集合进行读写操作吗?详细说明什么不起作用。当我说它不起作用时,我的意思是我不能读或写任何数据。我认为这里的问题是,我已经构建了一个相对复杂的应用程序,其中运行了许多firestore查询,因此我甚至不知道从何处开始共享代码、调试或学习:(有没有关于如何开始的建议?您需要添加与您提到的不起作用的查询相关的代码。这样,就可以理解它们不返回的原因,如果它们确实与您的安全规则相关。如果不显示执行查询的代码,就无法说明您的规则是否起作用。)不起作用。如果不与查询配对,规则就没有任何意义。是的,除非您希望internet上的任何人读取和写入数据库中的所有数据,否则直接应用程序访问需要规则。除非这是您想要的。此外,如果您需要对规则进行身份验证,则必须确保用户已登录。Y我们的代码示例应该可以帮助我们确定情况是这样的。当你说它们不起作用时,你是什么意思?你是说没有登录的用户可以从用户集合中读写?详细说明什么不起作用。当我说它不起作用时,我的意思是我不能读写任何数据。我认为这里的问题是我已经建立了一个整个相对复杂的应用程序,其中我运行了许多firestore查询,因此我甚至不知道从何处开始共享代码、调试或学习:(有没有关于如何开始的建议?您需要添加与您提到的不起作用的查询相关的代码。这样,就可以理解它们为什么不返回,如果确实与您的安全规则相关。