首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在中恢复安全规则以防止敏感字段

在中恢复安全规则以防止敏感字段
EN

Stack Overflow用户
提问于 2019-09-09 14:23:59
回答 1查看 391关注 0票数 1

我正在用Firestore为一家小公司建一个数据库。

我有一个部门的集合。每个部门都是一份文件。在公司里,员工人数永远不会超过50人。我希望将每个员工都作为一张地图。

因此,部门文档将是这样的;

代码语言:javascript
复制
{ 
  emp1: { name: 'tom', age:23, email: 'tom@x.com'},
  emp2: { name: 'mike', age:35, email: 'mike@x.com'}
}

我想保持年龄字段私有,它应该是由超级用户访问。据我所知,不可能将访问级别设置为字段的粒度。当客户端收到文档时,他将有权访问所有字段。

我该怎么做呢,我应该保留一个年龄的子集,这样行吗?我来自SQL,并且已经在SQL中顺利地完成了这一点,我不能考虑只有一个整数的集合。

或者还有其他选择吗?我不想有一个雇员的集合。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-09 14:52:05

如果您有与一个实体(用户)相关联的数据,而该实体(用户)应该对该数据的不同字段具有不同的权限,那么将这些字段拆分到该实体下组织的不同子集中的文档将是最容易的。在这种情况下,安全规则将更容易实现。简单的公有/私有数据的情况:

代码语言:javascript
复制
users/{uid}/public
  - data
    - name
    - email
users/{uid}/private
  - data
    - age

然后,您的规则分别针对每个子集合:

代码语言:javascript
复制
match /users/{uid}/public {
  allow read: true;
}

match /users/{uid}/private {
  allow read: if  **...whatever conditions you choose, if any...**
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57848769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档