Firebase Firestore规则配置:基于UID限制用户对专属集合的读写权限
Firebase Firestore 规则实现:仅允许认证用户读写自身UID命名的集合
要实现已认证用户仅能读写以自身UID命名的集合的需求,可通过以下Firestore规则完成:
完整规则代码
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // 匹配所有以用户UID命名的根级集合及其下所有文档、子集合 match /{userUid}/{document=**} { allow read, write: if request.auth != null && request.auth.uid == userUid; } } }
规则逻辑说明
match /{userUid}/{document=**}:{userUid}匹配根目录下的任意集合名称,{document=**}覆盖该集合下的所有文档及嵌套子集合,确保用户能操作自己UID命名集合的全层级内容。request.auth != null:验证用户已通过Firebase Authentication认证(即存在于Authentication用户列表中)。request.auth.uid == userUid:限制操作的集合名称必须与用户自身UID完全一致,保证用户只能访问专属集合。
示例验证
若用户UID为0M0drKmwJCWal7XHjHKuPz3rhHQ2,则该用户仅能对名为0M0drKmwJCWal7XHjHKuPz3rhHQ2的集合执行读写操作,无法访问其他名称的集合。
内容的提问来源于stack exchange,提问作者Mohit H
相关产品推荐
相关产品推荐

