【问题标题】:Firestore Cloud rulesFirestore 云规则
【发布时间】:2021-07-07 11:32:46
【问题描述】:
我一直在处理我的 Firestore Cloud 数据库的规则。我想实施规则,如果存储在数据库中的具有 ID 的用户的字段角色设置为管理员,则允许在文档上创建、更新、删除。
是否可以通过某种方式在数据库规则中检索用户角色?
我没有使用 Admin SDK,所以我已经向每个用户声明了自定义声明。
【问题讨论】:
标签:
angular
typescript
google-cloud-firestore
firebase-security
【解决方案1】:
当然,您可以使用get 方法访问安全规则内的其他文档
get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role== 'admin'
此方法将从users 集合访问文档,其中文档ID 等同于当前签名用户的UID。请记住,在使用此方法时,即使您的规则拒绝了请求,您也需要为阅读文档付费。
firestore security rule