Firestore 安全规则获取函数错误

2024-04-12

当用户注册时,应用程序会使用相同的信息将用户保存在 Firestore 中uid为 Firebase 身份验证生成。现在我正在尝试为单独的集合(而不是用户集合)编写安全规则,其中read and write仅当请求者具有以下权限时才允许该请求者进行操作isAdmin字段设置为 true。正如您在图像中看到的,即使路径中的路径正确get()函数,我得到了一个不存在的错误。什么可能导致此错误?

我尝试了路径的许多变体,更改集合,小写所有内容等。我在谷歌中找不到任何关于此的信息,官方文档显示的用法与我使用它的方式相同。

  • 安全规则 https://i.stack.imgur.com/fNZKq.png
  • 数据库 https://i.stack.imgur.com/Iwxxx.png

安全规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /user/{user} {
      allow read,write: if true
    }
    match /akarmi/{akarmiId} {
      allow read, write:
      if get(/databases/$(database)/documents/user/$(request.auth.uid)).data.isAdmin == true
    }
  }
}

我希望这段代码能够运行并允许或禁止访问,并且不会抛出不存在的错误。


I solved my problem with the following configuration: enter image description here

你必须设置一个真实的Firebase UID才能使用模拟器,实际的UID解决了问题,错误消息非常具有误导性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore 安全规则获取函数错误 的相关文章

随机推荐

  • Java更改和移动非标准XML文件

    我正在使用第三方应用程序 并且想要更改其文件之一 该文件以 XML 格式存储 但文档类型无效 当我尝试读取 use a 时 它会出错 因为文档类型包含 file ReportWiz dtd 如图所示 带引号 我得到一个找不到文件的异常 有没
  • 如何用unicode文件名c++读取二进制文件?

    在我正在从事的项目中 我处理了相当多的字符串操作 字符串从二进制文件及其编码 可以是单字节或双字节 中读取 本质上 我将字符串值读取为vector
  • IntelliJ:“构建”>“重建项目”菜单项与 Maven 全新安装

    For a Maven https en wikipedia org wiki Apache Maven驱动的项目IntelliJ https en wikipedia org wiki IntelliJ IDEA2018年 我该选择什么时
  • 重写内部 UIViewController 方法,因为内部方法给我带来了错误

    重写 UIViewController 内部方法会产生什么后果 UIViewController viewDidMoveToWindow shouldAppearOrDisappear 给我带来了一些问题 它将我的框架调整为我不想要的值有时
  • 在 Spark 中获取上周一

    我正在使用 Spark 2 0 和 Python API 我有一个数据框 其中有一列类型为 DateType 我想在包含最近星期一的数据框中添加一列 我可以这样做 reg schema pyspark sql types StructTyp
  • Chrome 和溢出:隐藏的问题

    在我的 javascript 中我使用 jqueryanimate 自动滑动推文的功能 Code function movefeeds var element jQuery Feeds var position element positi
  • 如何使用 XMLHttpRequest 传递 php 会话

    我遇到的问题是 我正在通过 XMLHttpRequest 从已设置会话 cookie 的页面调用服务器上的 php 脚本 问题是我的页面调用的脚本为每次调用创建一个新的 session id 并且不使用现有的 session id 来存储我
  • tlbexp.exe 更改方法名称的大小写

    我有一个相当奇怪的问题 我正在将接口从 C 库导出到 COM 我已启用 使用 COM 注册 项目设置 因此它调用 tlbexp exe 来创建类型库 我们在方法名称上使用驼峰式大小写 我注意到导出的类型库将这些恰好与类名一致的方法更改为 P
  • 防止在设计时调整高度尺寸

    我正在开发自定义用户控件 如何防止在设计时界面期间修改控件的仅高度 您可以覆盖SetBoundsCore http msdn microsoft com en us library system windows forms control
  • 使用 JavaScript 将 DOM 元素添加到 Body 的最佳方法

    我需要在每个页面上放置此代码 document body innerHTML div style text align center div class card style background EC2D2D padding 20px 0
  • 构建成功但没有可编译的源代码

    Eclipse 控制台中的 Maven 测试输出 INFO Scanning for projects WARNING WARNING Some problems were encountered while building the ef
  • SSL iOS9 SSL 握手失败。我检查了 openssl & 我的服务器使用 tls 1.2V

    我从 iOS 9 中的应用程序中收到这些错误 它在 iOS 8 上运行良好 我的服务器使用的是 tls v1 2 所以 我不知道问题出在哪里 2015 08 04 16 52 24 319 Entumano 676 59469 CFNetw
  • Android 中 Thread.sleep 方法的替代方法

    我有这个按钮 当单击该按钮时 会将我的文本字段中输入的详细信息保存到 Google App Engine 在调用该 onClickListener 之后 我有一个意图启动一个新活动 该活动显示我刚刚输入的详细信息 这是代码 submitBu
  • Cassandra DB 中的日期插入:重要的 1 小时轮班问题(后续)

    这是这个的后续其他原帖 https stackoverflow com questions 23080188 date insertion in cassandra db non trivial 1h shift issue 2308355
  • 在格子 xyplot 上添加标签

    我创建了一个带有格子的 xyplot library lattice X1 c 5 2 1 3 X2 X1 2 names paste dot 1 4 sep xyplot X2 X1 data data frame X1 X2 pch 2
  • Laravel 5:请求验证多维数组

    我有提交多维数组的表单 喜欢 slide 1 title slide 2 title 现在我使用 Request 类来定义我的规则 如何循环遍历此类中的所有数组项 我试过 public function rules return id gt
  • 为什么没有List.skip和List.take?

    为什么没有List skip和List take 当然有 Seq take 和 Seq skip 但它们不会因此创建列表 一种可能的解决方案是 mylist gt Seq skip N gt Seq toList 但这会创建第一个枚举器 然
  • dplyr 流中参考当前 data.frame

    如何在 dpylr 流中引用当前的 data frame 举个例子 在 library dplyr myresults tribble dataset name method group method value iris other a
  • Flutter创建无限屏幕

    我想象一种新的屏幕 我想用 Flutter 来实现 因为它非常强大 可以快速 流畅地渲染 我想要实现一种无限的屏幕 带有可以移动的正方形或区域 实际上就像一张地图 实际上不是无限的 而是非常大 但我可以 拖动并翻译 放大和缩小 单击并按下屏
  • Firestore 安全规则获取函数错误

    当用户注册时 应用程序会使用相同的信息将用户保存在 Firestore 中uid为 Firebase 身份验证生成 现在我正在尝试为单独的集合 而不是用户集合 编写安全规则 其中read and write仅当请求者具有以下权限时才允许该请