firebase - 尝试仅向使用 Firestore 规则发布照片的用户显示应用程序中的照片
问题描述
我有一个用户可以登录并拍摄照片并将照片添加到提要的应用程序。我使用firestore作为数据库。
现在任何用户都可以看到所有其他用户的照片以及他们自己的照片。我希望只有登录的用户才能查看自己的照片。另一个论坛中的用户建议我使用 Firestore 规则来设置该控件,但我在执行更正代码时遇到了麻烦。
我通读了 firestore 上的文档,并尝试以他们无法正常工作的方式实现代码。以下是我的数据库信息和我当前的规则(不起作用)谢谢。
数据库:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**}{
allow read, write: if request.auth != null && request.auth.uid == 'byId';
}
}
我希望这段代码将用户的 uid 与 byId 字段(应该相同)进行比较,如果为真,则允许他们读写自己的数据
我还有一个身份验证页面,其中 uid == byId
解决方案
这个检查request.auth.uid == 'byId'
检查当前用户的 UID 是否是字面意思byId
。如果要检查 UID 是否与byId
文档中字段的 ht 值相同,请使用:
if request.auth != null && request.auth.uid == request.resource.data.byId;
我还建议查看有关保护文档访问的 Firebase 文档。