热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Firestore安全规则:如何验证字段未定义?

如何解决《Firestore安全规则:如何验证字段未定义?》经验,为你挑选了1个好方法。

当用户注册并在Firestore中初始化数据时,我想确认他们没有尝试设置自己的角色(例如,因此他们没有将其设置为“ admin”)。

我试着这样写:

match /users/{userId} {
  allow create: if (signedInAs(userId) && !request.resource.data.role) || isAdmin();
  ...

...但是我只是看到“对象上的属性角色未定义”。

有没有办法安全地做到这一点?还是这意味着我应该总是初始化期望的字段,即使只是空字符串也是如此?这似乎与NoSQL的哲学不太吻合?



1> Doug Stevens..:

使用in运算符查找对象的属性是否不存在。

!("role" in request.resource.data)

这产生一个布尔值。请在规则API文档中查看有关地图类型的信息。


推荐阅读
author-avatar
贾章鱼_977
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有