安全规则 - 可以读取的数据列表?

2023-12-07

因此,我的应用程序具有在许多用户之间共享的“对话”。 “对话”有很多“用户”。

我可以在特定对话中使用模拟器让作者获得“.read”授权,但我不确定如何在以用户身份登录时获取对话列表 - 我无法使用.on("child_added")在“对话”上,因为“对话”上不允许 .read,仅在其某些子项上允许,具体取决于登录用户。

我应该如何进行?

Thanks!


我们不建议使用安全规则作为实现记录过滤的方法。您可以将对话列表存储在全局列表下,然后将这些对话的 ID 存储在有权访问这些对话的每个用户下。这意味着您还必须确保每个用户的对话列表在发生更改时都会更新。

/conversations
  <conversation-id-1>
  <conversation-id-2>
/users
  <user-1>
    /conversations
      <conversation-id-1>: true
  <user-2>
    /conversations
      <conversation-id-2>: true

在 /users/user1/conversations 上执行 .on("child_added") 将使您能够访问该用户有权访问的所有对话。确保正确设置顶级对话列表的权限。

See https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html了解有关如何在 Firebase 中构建数据的更多背景信息。

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

安全规则 - 可以读取的数据列表? 的相关文章

  • 类型错误:未定义不是对象(正在评估..)

    在 render 之前的控制台中 this state data1 length 没有给出任何错误 但是一旦我在视图标签中使用它 就会给出错误 类型错误 未定义不是对象 评估 this state data1 length 如果我从视图标签
  • Flutter:未捕获的 ReferenceError:firebase 未定义

    我在 Flutter Web 应用程序中使用 Firebase 服务 但在加载 Firebase 脚本时遇到问题 当我使用扑动时运行 d chrome我看到有错误的空白页面 重新加载页面后加载正常 当我进行 flutter build we
  • Firebase GAS webapp Google 弹出窗口消失

    我正在尝试升级我的 firebase GAS web 应用程序 之前我有一个弹出窗口 可以让用户使用 Google 登录 我不确定我做错了什么 但我已经升级到新的 firebase 现在正在尝试使用新的代码格式进行相同的登录 发生的情况是
  • 如何在列表视图中滚动添加更多项目?

    这里的代码当前加载了存储在 Firestore 集合中的所有啤酒 我如何最初只加载 10 个啤酒 然后当用户向下滚动并到达 10 个啤酒列表的末尾时 它应该加载最后一次酿造后还有 10 杯 并且酿造应根据时间戳进行排序 class Brew
  • 如何使用 firebase 托管托管 sveltekit 应用程序?

    我正在尝试将 sveltekit 应用程序部署到 firebase 带有 sveltekit 的 bigginner 我以为我们要构建应用程序并获取我们的 index html 文件 但 sveltkit 的情况并非如此 我正在使用 sve
  • Firestore 中的多租户

    关于基于子集合值查询数据的实际限制 在 Firestore 中管理多租户的建议方法是什么 我希望能够检索和限制对与用户所属实体 公司相关的数据的访问 数据结构示例 companies companyId users companies co
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • 找不到 com.google.firebase:firebase-core:9.0.0 [重复]

    这个问题在这里已经有答案了 在遵循有些不一致的指示之后here https firebase google com docs admob android quick start name your project and here http
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 具有多个 orderBy 的 Android firebase 查询

    我想检索我的 firebase 数据库中所有类型为 福音 的数据 这是我的数据库 DatabaseReference infoRef FirebaseDatabase getInstance geReference child info i
  • Firebase Android:电子邮件链接身份验证。意图过滤器不起作用

    我正在为 Android 实现 firebase 电子邮件链接身份验证机制 我已经使用 firebase 指南实现了它 但现在打开电子邮件中的链接后 应用程序始终会进入启动器活动 我无法调试该问题 我还在我的应用程序中实现了动态链接 效果很
  • 错误:找不到 com.google.firebase.storage.UploadTask.TaskSnapshot 类型的符号方法 getDownloadUrl()

    在 gradle update 之前一切正常 但后来弹出了这个错误 我参考了官方文档 它提供了相同的代码 不接受 getDownloadUrl 方法 https i stack imgur com YLC2x png 我已经添加了最新的正确
  • 添加 Google Play Services 9.0.0 后 Dex 文件超过 64k

    我按照 Firebase 指南添加 FCM 因此我将以下依赖项添加到我的应用程序 gradle 中 compile com google android gms play services 9 0 0 apply plugin com go
  • firebase推送通知错误Spring Boot服务器端

    我正在尝试从 Spring Boot 服务器端发送通知到客户端 android 服务器运行良好 一切都很好 2020 09 01 08 13 07 691 INFO 18941 restartedMain e DevToolsPropert
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • 如何设置 Firebase 用户的显示名称?

    根据Firebase网站上的JS Auth文档 它只展示了如何获取 displayName 以及如何更新 displayName 所以我尝试更新它 但这有点不合逻辑 因为你怎么能在不创建某些东西的情况下更新它呢 所以我的问题是 如何设置注册
  • AngularFire 访问子元素方法

    我正在寻找一种方法来获取子元素的方法 而不是单独加载该元素 假设我有一个帖子模型 每个帖子都有评论 这就是我获取帖子模型的方式 var post firebase new Firebase FIREBASE URL posts post n
  • 如何设置Firestore安全规则? Resource.data:空值错误

    我需要一些帮助来使我的 Firestore 安全规则发挥作用 这些是我的 Firestore 规则 service cloud firestore match databases database documents match order
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d

随机推荐

  • 使用 udev 更改 ttyUSB 权限

    我的程序需要访问ttyUSB没有root权限 我尝试用它来改变它chmod 777 dev ttyUSB0如您所知 当我重新启动时 此权限更改为默认值 我如何为此配置我的 udev Rules d 寻找ttyUSB in the rules
  • m2e无法从nexus传输元数据,但maven命令行可以

    我正在使用 nexus 来托管我的 Maven 存储库 并且 maven 命令行 win32 和 linux 可以使用相同的命令和相同的 settings xml 成功地从该 nexus 传输工件 但 m2e 会失败 如下所示 WARNIN
  • 表达式中上标和下标相同的字符

    在情节中 我想要一个标题 其中应该包含 字符串 my title is 后跟由 引发的 caharecter alpha 即 alpha prime alpha 也有下标 G I tried expression paste my titl
  • 通过Python使用refresh token完成Oauth2.0授权(Google API服务创建)

    我正在尝试使用 Oauth2 通过无头 Linux 服务器访问 Google API 服务 我通读了这篇文章的所有答案 如何在没有用户干预的情况下授权应用程序 网络或安装 但他们都没有展示如何使用刷新令牌来生成访问令牌python pinn
  • 雅虎财经API

    如何使用 YQL 获取雅虎财经股票代码的完整列表 不尝试获取单个股票报价 我正在尝试找到可用股票代码的完整列表 例如 所有股票代码均来自纽约证券交易所 纳斯达克 雅虎财经在这方面可能帮不了你太多 您可以从交易所获取所有股票代码 然后在雅虎财
  • 如何使用 PHP 来使用 JavaScript?

    设想 我使用创建了一个过滤IF ELSE当用户单击 BOX A 和 BOX B 然后假设 BOX A 已满 在用户点击 保存按钮 后 将显示一条确认消息 说明 您选择的盒子已经满了 您想保存其他物品吗 这是我的代码
  • 如何在 Powershell 中同时对多个服务器运行命令

    我正在寻找一种方法来同时重新启动多个服务器上的三个服务 我知道如何使用循环针对服务器列表重新启动服务 但由于我有许多服务器 因此需要很长时间才能等待每台服务器上的每个服务按顺序重新启动 有没有办法立即向所有服务器发送重新启动服务命令 而不是
  • Python:找出本地时区

    我想将日志文件中的 UTC 时间戳与本地时间戳进行比较 创建本地时datetime对象 我使用类似的东西 gt gt gt local time datetime datetime 2010 4 27 12 0 0 0 tzinfo pyt
  • 异步启动长时间运行的进程

    在我们的 Web 应用程序中 用户可以进行需要更新大量数据库表的更改 所有这些的加载时间最长可达 30 秒 我不希望用户在导航到另一个页面之前等待该操作完成 我已将长时间运行的代码放在自己的页面上 例如 updateinfo aspx 并尝
  • 在 .net 4.0 中使用实体框架与 Oracle 数据库 - 可能吗?

    我正在构建一个针对 Net 4 0 的应用程序 目前不能更高 我需要访问 Oracle Db 11g 并且我想使用实体框架 为了能够做到这一点 我知道我必须使用 Oracle 托管数据访问 Oracle ManagedDataAccess
  • “参数无效。”使用保存位图时

    我正在尝试以指定的编码质量保存位图 jpg 格式 但是 在调用保存方法时出现异常 参数无效 如果我省略 bmp save 中的最后两个参数 它就可以正常工作 EncoderParameters eps new EncoderParamete
  • 易失性、互锁性、锁定性

    假设一个类有一个public int counter由多个线程访问的字段 这int仅递增或递减 要增加此字段 应使用哪种方法 为什么 lock this locker this counter Interlocked Increment r
  • 使文本位于图像上的一行上方

    我正在开发一个项目 尝试在所有浏览器尺寸的图像上的一行上方添加文本 当您看到下面的 codpen 链接时 这一点会更清楚 我现在面临的问题是 一旦我将顶部值设置到正确的位置并更改浏览器宽度 文本就不再位于该行上方 text position
  • 每台服务器的套接字连接的实际/硬限制是多少

    我有许多客户端设备打开由 Windows 2008 R2 服务器上运行的服务公开的套接字连接 我想知道并发客户端连接数的硬限制是什么 根据本文 一个硬限制是 曾经 16 777 214 实际限制还取决于您的应用程序 例如 如果您为每个连接创
  • java.lang.IllegalStateException:使用 Auth.GOOGLE_SIGN_IN_API 时不得在 GoogleApiClient.Builder 中设置范围

    我正在使用带有身份验证 api 的驱动器 api 我需要先登录谷歌帐户 然后将文件上传到驱动器 问题是 当我仅使用未经身份验证的驱动器 api 时 显示无法登录 我首先使用 GoogleSignInOptions gso new Googl
  • 具有多个成员的高效运算符<

    假设一个类有多个与对象顺序相关的成员 例如 A T1 x T2 y 标准执行情况operator lt 我知道是 bool A operator lt const A a return x lt a x x a x y lt a y 但这对
  • 如何在 Windows 中使用 pyspark 启动 Spark Shell?

    我是 Spark 的初学者 并尝试按照此处的说明进行操作 了解如何使用 cmd 从 Python 初始化 Spark shell http spark apache org docs latest quick start html 但是当我
  • 在 IntelliJ 或 Android Studio 中使用 HTTP 作为默认值

    我知道这可能看起来像一个奇怪的请求 这可能有助于解释为什么谷歌研究没有帮助我找到答案 但由于一些防火墙问题 通过 HTTPS 连接到外部资源需要很长时间或完全超时 目前我的依赖项如下所示 dependencies compile fileT
  • IE9 中的 SVG 缩放问题

    在 IE9 中使用小 svg 时遇到问题 它在右侧被切断 不居中 Supposed to be a X My SVG
  • 安全规则 - 可以读取的数据列表?

    因此 我的应用程序具有在许多用户之间共享的 对话 对话 有很多 用户 我可以在特定对话中使用模拟器让作者获得 read 授权 但我不确定如何在以用户身份登录时获取对话列表 我无法使用 on child added 在 对话 上 因为 对话