gpt4 book ai didi

android - 允许更新特定用户的特定字段 - Firebase Firestore 规则

转载 作者:行者123 更新时间:2023-11-29 23:30:54 25 4
gpt4 key购买 nike

您好,我正在开发一个应用程序,其中有两种类型的用户,第一种是管理员,第二种是普通用户。现在我想允许更新普通用户文档中名为 disable 的特定字段,只有管理员可以更新此字段。但另一个问题是我只想允许用户自己更新文档的字段,比如 if (uid == documentId) allow write in fields 因为我不希望其他用户只更新某人的帐户信息.我怎么可能执行这些操作,它们在规则中可用吗?

注意:将有两个集合 AdminsUsers,其中每个文档 ID 都是帐户的 UID。

提前致谢。

最佳答案

首先,建议您将 AdminsUsers 都放在一个集合 Users 下,并添加一个字段 admin = true 对于管理员帐户。

并确保没有人可以更新文档,除非它是相同的用户帐户或管理员帐户,您可以使用此规则来做到这一点:

service cloud.firestore {
function admin() {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
}
match /databases/{database}/documents {
match /users/{userId} {
allow read: if true;
allow update, create: if admin() || (request.auth.uid == userId && !('admin' in request.writeFields));
allow delete: if request.auth.uid == userId || admin();
}
}
}

希望这对您有所帮助,祝您好运!

关于android - 允许更新特定用户的特定字段 - Firebase Firestore 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52685972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com