使用 firestore 安全规则中的替换功能

2023-11-30

我正在努力应对 Firestore 安全规则。我想检查需要替换功能的值,即电子邮件地址。我可以在一般安全文档中找到一些文档,但这似乎不适用于 Firestore。

例如这有效:

allow write: if resource.data.members.data[(request.auth.token.email)] in ["admin"];

但这不是(并且我相应地更改了成员对象中的键):

allow write: if resource.data.members.data[(request.auth.token.email.replace('.' , ',')] in ["admin"];

另一种选择是有办法在查询地址中使用点,这样就不必像这样替换它们:

var emailSanitized = email.replace('.' , '.');
db.collection('someCollection').where('members.' + emailSanitized, '==', 'admin')

这里有什么想法吗?


有点晚了,但是您可以用这个模拟字符串上的替换函数:

function replace(string, replace, by) {
  return string.split(replace).join(by);
}

所以你需要在 firestore.rules 文件中定义这个函数,然后你可以调用replace(request.auth.token.email, '.' , ',')得到相同的结果request.auth.token.email.replace('.' , ',')在 JavaScript 中。

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

使用 firestore 安全规则中的替换功能 的相关文章

  • 是否有 API 可以*更改* Firebase 远程配置值?

    Firebase 控制台支持轻松配置远程配置参数 在我们的应用程序中 每个用户都有不同的远程配置 这些配置是在我们自己的门户网站上设置的 是否有任何 API 可以让我将配置从我自己的门户推送到 Firebase 远程配置服务器 然后在 An
  • 如何自定义 Firebase 身份验证 ui

    我正在使用 Firebase Auth Ui 进行号码验证 我有一些要求 需要更改国家旋转器下拉项目的文本和背景颜色 我正在使用下面的样式 但它不会改变下拉菜单的背景颜色或项目的文本颜色 style name FirebaseUI Coun
  • 使用全局变量从内部函数获取空字符串

    请帮助我解决一些小问题 我确信你能做到 D 我试图在 firestore 文档 user cases information 上设置一个字段 其中包含一个字段 case number 首先我声明这个全局变量 private String c
  • Firebase 数据库规则时间戳问题

    自 2017 年 10 月 29 日时间转移以来 我在使用 Firebase 产品进行开发时遇到了一些非常奇怪的行为 我正在使用 Ionic 3 开发一个混合应用程序 当我在浏览器 移动模拟设备 中进行开发和测试时 一切正常 一旦我切换到我
  • Firebase + Node.js:错误:找不到 XMLHttpRequest 兼容性库

    Firebase Node js On iOS 安装的 Node js npm 安装 firebase save 节点测试 js 其中 test js 是一个非常简单的连接到 Firebase 的脚本 var firebase requir
  • 数据驱动规则引擎 - Drools

    我一直在评估 Drools 作为规则引擎在我们的业务 Web 应用程序中的使用 我的用例是订单管理应用程序 规则如下 如果用户类型为 特殊 则可享受额外 5 的折扣 如果用户已购买 10 次以上 可额外享受 3 的折扣 如果产品类别为 旧
  • FRebase 电话身份验证支持哪些国家/地区?

    有谁知道 Firebase 电话身份验证是否适用于印度电话号码 我成功实施并为美国号码工作 1xxxxxxxxxx 但当我尝试使用印度电话号码时未收到短信 不确定是它不起作用还是我错过了一些东西 我发送为 91xxxxxxxxxx 上一篇博
  • FirebaseRecyclerViewAdapter 中的过滤器

    关于这个问题 如何实现 SetOnItemClickListener FirebaseRecyclerViewAdapter https stackoverflow com questions 34110497 how to impleme
  • MySql 查询在选择中将 NULL 替换为空字符串

    如何用空字符串替换 select 中的 NULL 值 输出 NULL 值看起来不太专业 这是非常不寻常的 根据我的语法 我希望它能够工作 我希望能得到一个解释 为什么没有 select CASE prereq WHEN prereq IS
  • Flutter 和 Firebase - 使用 firebase_storage 和 firebase_auth

    使用 firebase 包 https pub dartlang org packages firebase auth https pub dartlang org packages firebase auth https pub dart
  • 如何向 firebase.auth() 添加附加信息

    如何向该数据集添加额外的电话号码和地址属性 Firebase 文档似乎没有指定任何相关内容 我已经使用实现了登录 注册和更新firebase auth Login Email Login firebase auth signInWithEm
  • 身份验证失败,您是否运行了 firebase 登录?

    I am following instructions for Firebase functions https firebase google com docs functions get started I have successfu
  • 未处理的拒绝:发送后无法设置标头

    我正在 Dialogflow 中创建一个聊天机器人 当我尝试将数据添加到数据库时 它抛出了 未处理的拒绝 错误 这是我的index js文件 use strict const functions require firebase funct
  • Eclipse:如何增加查找/替换历史记录?

    查找 替换对话框显示最后 8 个条目 该对话框通过 Ctrl F 显示 我想增加 查找 和 替换为 输入字段的历史记录中显示的条目数 我必须搜索并替换几个字符串和正则表达式 因此我一次又一次地输入字符串和正则表达式 我并不是指文件内容更改的
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • Firebase Messaging FCM 在可配置的时间间隔内分发

    当您使用 FCM 向给定应用程序的所有设备发送推送时 这可能会导致许多用户同时打开他们的应用程序 从而导致大量服务器轮询 从而导致负载峰值 有没有一种方便的方法可以在给定的时间间隔内分发消息以进行计划推送 最后 我们找到了一种可能的方法 通
  • 从 Firestore 获取文档时,我是否也获取该文档内的集合?

    如果是的话 如何获得它 因为在进行文档引用时 您只能访问该文档的字段 而不能访问集合 从 Firestore 获取文档时 我是否也得到了 该文档内的集合 不 当获取文档时 您只会获取该文档的字段 正如本节中所解释的document http
  • 应用程序关闭时单击 Firebase 通知后打开特定活动/片段

    我知道这个问题似乎重复 但根据我的要求 我在网上搜索了很多帖子 但没有任何对我有用 我的要求 我正在使用 Firebase 来获取推送通知 当应用程序打开时意味着一切正常 但我的问题是 如果有任何推送通知出现 应用程序处于后台 关闭意味着我

随机推荐

  • 从文本文件修复区分大小写的搜索?

    前几天我问过一个问题在 Stack Overflow 上 询问如何从搜索文本框中搜索文本文件以匹配字符串 到目前为止 除了搜索区分大小写之外 这种方法效果很好 我想到了一种克服这个问题的方法 但它不会以我希望的方式起作用 我的想法 解决方案
  • fatfree SQL 错误处理

    如果出于某种原因 使用映射器创建条目时出现错误 我会收到错误消息 我想做一个自定义通知并像这样优雅地失败 try request gt save catch Exception e this gt utils gt errorNotify
  • 我的应用程序中的 Nougat OS 中显示的 Webview 空白页面

    我在我的应用程序中调用了 CCAvenue 支付网关集成 直到它正常工作 但是当我将设备操作系统 Marshmallow 更新到 Nougat 时 Webview 页面显示空白屏幕 logcat 中也没有找到错误日志 我还在所有其他低于 N
  • 从 XSD 生成类

    您正在 SOA 世界中进行 Web 服务的契约优先开发 编辑 XSD 文件后 从 XSD 文件自动 重新 生成 net 类的最佳方法是什么 xsd exe 将为您生成新的类 根据 Visual Studio 的设置方式 将 xsd exe
  • 启用/禁用代理应用程序在 IE 中无法正常工作

    我在这里遇到了一个非常奇怪的情况 我编写了一个应用程序 除其他外 它可以将连接的代理从打开切换到关闭 反之亦然 这是通过更改注册表中的值来完成的 public void SetUpProxy string proxy bool enable
  • 通过javascript检测ipad/iphone webview

    有没有办法用 JavaScript 检测网站是否在 iPad 的 Safari 内或应用程序 WebView 内运行 这使用了以下组合window navigator userAgent and window navigator stand
  • 数字签名 亚马逊应用商店

    我在亚马逊应用商店中读到了这样的内容 这是什么意思 我是否必须明确地做某事 或者亚马逊自己签名 我不清楚 你能告诉我吗 我可以为我的应用程序应用签名吗 所有应用程序都必须使用证书进行数字签名 应用于您的应用程序的默认签名是亚马逊提供的证书
  • 在 Web 配置中添加 serverRuntime 标记会导致 500.19 错误

    我刚刚从另一台笔记本电脑上的 TFS 下载了 asp net 项目 但无法运行它 我已经缩小了问题范围 这与我的 webconfig 设置有关 设置是
  • 如何以不区分大小写的方式从列表中删除单词?

    我有一个名为words包含可能为大写或小写或它们的某种组合的单词 然后我有另一个列表称为stopwords其中仅包含小写单词 现在我想浏览一下其中的每个单词stopwords并从中删除该单词的所有实例words以不区分大小写的方式 但我不知
  • PHP 日期“最后一个工作日”输出错误的月份

    我正在尝试获取last weekday使用下面的代码显示当前月份的数据 我期望它的行为就像所有其他运算符一样last friday of并输出本月最后一个工作日 而是输出上个月的最后一个工作日 我知道我可以通过使用来纠正这个问题modify
  • 使用线程执行shell命令c++

    是否可以通过创建线程来执行 shell 命令 即不使用 popen system 或任何 fork exec 变体 为什么或者为什么不 为了提供更多上下文 我正在运行一个多线程程序 其中一个线程需要执行 shell 脚本 目前它使用 pop
  • CDataColumn 的“值”内的条件语句

    有谁知道如何在 CGridView 列字段中显示条件值 我在数据库中有一个性别 M 或 F 的条目 在 CGridView 中 但是我想分别显示 男 和 女 而不是 M 或 F 欢迎任何想法 我发现虽然不允许使用完整的 if else 语法
  • 在 MVC3 中将 ListBox 与模型绑定

    我的模型是 public class SiteConfig public SiteConfig public int IdSiteConfig get set public string Name get set public byte S
  • 在审核表单中添加自定义字段

    我期待在审核表单中创建自定义字段 电子邮件 ID 和一个下拉列表 我已经尝试过这个 但没有保存数据 仅保存字段 应用程序 代码 核心 法师 评论 模型 Mysql4 Review php protected function afterSa
  • 如何使用与用户定义函数同名的 MATLAB 工具箱函数

    我遇到了问题findpeaks函数 该函数位于信号处理工具箱中 并且该程序还有它的另一个版本 用户定义函数 我需要调用信号处理工具箱中的 on 而不是用户定义的函数 而且由于多种原因我无法重命名用户定义的函数 谁能帮我调用工具箱函数 MAT
  • 解析正数和负数的字符串,Javascript

    所以我正在研究 d3 中制作的标签云示例 http www jasondavies com wordcloud http 3A 2F 2Fsearch twitter com 2Fsearch json 3Frpp 3D100 26q 3D
  • 使用 jQuery 动态创建链接

    我正在尝试使用 jQuery 在 blockquote 元素中创建一个链接 我现在正处于这个阶段 var pullQuote span pull quote each function var this this hrefLink http
  • 如何找到 Redshift 中访问次数最多的表?

    我们正在将实时数据传输到 Redshift 瓶颈是没有可以并发运行的表加载 目前 我们每 15 分钟运行超过 1000 个负载 但我们希望根据用户使用这些表的频率来减少这个数字 请建议我们如何在 Redshift 中获取此信息 This v
  • 获取奇数长度回文

    我试图找到最长的奇数长度回文 但我编写的代码没有给我完整的回文 只是其中的一部分 任何帮助都会很棒 def get odd palindrome at s index str int gt str gt get odd palindrome
  • 使用 firestore 安全规则中的替换功能

    我正在努力应对 Firestore 安全规则 我想检查需要替换功能的值 即电子邮件地址 我可以在一般安全文档中找到一些文档 但这似乎不适用于 Firestore 例如这有效 allow write if resource data memb