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

动态火库规则?

沈畅
2023-03-14
service cloud.firestore {
  match /databases/{database}/documents {
    match /india/{documentID} {
    allow read, write : if request.auth.token.india_admin == true
    allow read : if  true
    }

  }

  match /databases/{database}/documents {
    match /japan/{documentID} {
    allow read, write : if request.auth.token.japan_admin == true
    allow read : if  true
    }

  }

}

有没有一种方法可以通过使用集合名称变量来概括它

共有1个答案

齐铭
2023-03-14

您现在所做的允许对所有内容进行无条件的读访问。这就是Allow read:if true所做的。

尝试使用集合名称的通配符:

match /{country}/{documentID} {
  allow read, write : if request.auth.token[country + "_admin"] == true;
}

请注意,这有一个副作用,即应用于所有顶级集合,即使是那些不代表国家的集合。如果使用需要不同规则的其他顶级集合,则可能希望将所有特定于国家的集合推入单个顶级集合下的子集合

 类似资料:
  • 我想运行PHP扩展,能够连接到火鸟数据库。在php.ini有启用的行扩展名=pdo_firebird.dll,文件存在于其他扩展名 /ext目录中。每次我重启Apache(和PHP),我都看不到phpinfo()中加载的扩展。为什么啊?我在Windows 8上运行Apache 2.2和PHP 5.4。

  • 规则 Sentinel 的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则。Sentinel 提供两种方式修改规则: 通过 API 直接修改 (loadRules) 通过 DataSource 适配不同数据源修改 手动通过 API 修改比较直观,可以通过以下几个 API 修改不同的规则: FlowRuleManager.loadRules(List<FlowRule>

  • 我最近考虑了我的Firebase服务的各种安全问题,并面临一个与Firebase定价相关的有趣问题。问题很简单,如下所示: > 如果实时数据库的一组安全规则在安全规则的验证过程中读取其自身(rtdb)中的一些数据,则此类用于验证目的的服务器读取是否受rtdb计费的任何部分的约束?例如,如果一行规则需要匹配的rtdb的json树中的“角色”数据,那么这种验证是否不受rtdb的下载费定价($1/GB)

  • 计算机科学中的许多程序是为了优化一些值而编写的; 例如,找到两个点之间的最短路径,找到最适合一组点的线,或找到满足某些标准的最小对象集。计算机科学家使用许多策略来解决这些问题。本书的目标之一是向你展示几种不同的解决问题的策略。动态规划 是这些类型的优化问题的一个策略。 优化问题的典型例子包括使用最少的硬币找零。假设你是一个自动售货机制造商的程序员。你的公司希望通过给每个交易最少硬币来简化工作。假设

  • *正则匹配问题[H] 三角形问题[M] 计算二进制数中1的个数[M] *括号匹配问题[M] 最短路径和[M]

  • 我们有dynamic_cast的一般形式: dynamic_cast (表达式) 我特别对这条规则(5a)的粗体部分感到困惑: 5:如果expression是指向多态类型基的指针或引用,而new-type是指向派生类型的指针或引用,则执行运行时检查: a)检查由表达式指向/标识的最派生对象。如果在该对象中,表达式指向/引用派生的公共基,并且如果仅有一个派生类型的对象从由表达式指向/标识的子对象派生