我正在尝试实现安全规则来限制用户只能访问文档中的特定字段。我的数据结构是这样的:
document {
name: John,
dob: 1994,
email: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b0dadfd8def0d8dfc4ddd1d9dc9ed3dfdd" rel="noreferrer noopener nofollow">[email protected]</a>
}
我想限制name
字段至 read, write by owner
; dob
字段至 read by owner, create by owner
; email
至read by owner, update by owner
我阅读了文档,似乎我只能使用安全规则来控制特定文档的访问。它没有提到任何允许访问特定字段的内容。我应该做什么才能允许访问文档中的特定字段?
最佳答案
安全规则不能用于限制对文档中各个字段的访问。如果用户对文档具有直接读取权限,则他们始终可以读取文档中的每个字段。
您唯一的选择是:
- 将受限字段拆分到另一个集合中的文档中,并以不同方式保护该集合。
- 完全拒绝对集合的直接访问,并强制用户通过 API 端点,该端点根据传递到端点的用户身份删除受限字段。
关于firebase - Firestore 安全规则仅允许特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62904085/