我一直在研究 Firestore Cloud 数据库的规则。我想实施规则,如果用户 ID 存储在数据库中,并且字段角色设置为管理员,则允许创建、更新、删除文档。
是否可以以某种方式检索数据库规则中的用户角色?
我没有使用 Admin SDK,所以我已经为每个用户声明了自定义声明。
答案 0 :(得分:1)
当然,您可以使用 get
方法访问安全规则内的其他文档
get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role== 'admin'
此方法将访问 users
集合中的文档,其中文档 ID 等同于当前签名用户的 UID
。请记住,在使用此方法时,即使您的规则拒绝请求,您仍需支付阅读文档的费用。