我想在我的应用程序中实现基于角色的限制。我在一个集合文档中有用户角色信息。现在我想编写规则来限制对数据库其他集合的不同写入、更新操作。
由于我使用带有 React-Native 的 Firestore 数据库,因此我只在插入/更新时传递相应集合的文档信息。那么我怎样才能将用户的角色信息与此一起传递,以便我的规则得到验证并且数据不会进入其他集合。
描述上述场景的一个示例:
/collection1/document1
{
prop1: value1,
prop2: value2,
role: "WRITE"
}
/collection1/document2
{
prop1: value1,
prop2: value2,
role: "READ"
}
现在考虑当前登录的用户是document2.
我还有另一个收藏:
/collection2/doc1
{
userRef: document1, //this is id of document1 from collection1
...
}
我想为collection2配置firestore规则,如果请求来自用户,role="WRITE"那么只允许它插入/更新文档。
已阅读许多文章和方法,但其中任何一个都不满足此用例。
任何帮助,将不胜感激。