firebase - firebase rules write for auth user but delete only its own data
问题描述
is there a way to let users only delete their own data? auth users can write to FB and read other users data but only can delete theis own data.
could it be that write rule includes the delete rule?
like:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read;
allow delete: if request.auth.uid == resource.data.userid;
allow write: if request.auth.uid != null;
}
}
}
解决方案
写权限确实包括删除。这在文档中有所说明。
读取规则可以分为 get 和 list,而写入规则可以分为 create、update 和 delete
因此,如果您授予写访问权限,您将隐式授予创建、更新和删除权限。您可能希望将它们分开:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read;
allow delete: if request.auth.uid == resource.data.userid;
allow create, update: if request.auth.uid != null;
}
}
}
推荐阅读
- ethereum - Web 应用程序无法与通过 Truffle 部署的以太坊智能合约正确通信
- version-control - 如何使用 DevOps 管理不同的“项目分支”
- laravel - 如何让 Google Auth 与 Laravel 一起使用?
- mysql-workbench - 无法通过加载数据本地 infile 查询在 MySQL Workbench 中导入 CSV 文件
- prestashop - 呈现模板期间引发异常(“未找到列类型“custom_text”的内容模板”)
- java - 单击按钮时我的应用程序崩溃(android studio)
- lambda - 扩展 ... lambda 的封闭父函数必须允许获取其地址
- dart - 构造函数中[和]的含义
- python - 分析输入和输出变量的python代码部分
- amazon-web-services - ECS 从容器运行时 ID 获取任务 ARN