Jos*_*rey 4 firebase google-cloud-firestore firebase-security-rules
当用户注册并在Firestore中初始化数据时,我想确认他们没有尝试设置自己的角色(例如,因此他们没有将其设置为“ admin”)。
我试着这样写:
match /users/{userId} {
allow create: if (signedInAs(userId) && !request.resource.data.role) || isAdmin();
...
Run Code Online (Sandbox Code Playgroud)
...但是我只是看到“对象上的属性角色未定义”。
有没有办法安全地做到这一点?还是这意味着我应该总是初始化期望的字段,即使只是空字符串也是如此?这似乎与NoSQL的哲学不太吻合?
Dou*_*son 10
使用in运算符查找对象的属性是否不存在。
!("role" in request.resource.data)
Run Code Online (Sandbox Code Playgroud)
这产生一个布尔值。请在规则API文档中查看有关地图类型的信息。
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |