产品概述
功能和优势
应用场景
系统限制
权限类型 | 设置示例 |
所有用户可读,仅创建者及管理员可写 |
|
仅创建者及管理员可读写 |
|
所有用户可读,仅管理员可写 |
|
仅管理员可读写 |
|
auth 变量会变成一个包含该用户唯一 ID(auth.uid)和登录方式(auth.loginType)的对象。反之用户未登录,则auth的值为 null。通过 auth 规则可以实现对每个用户的数据访问控制。uid 及用户登录方式 loginType 填充 auth 变量。auth 变量,可以用以下常用方式来根据身份对文件访问进行控制:auth 值。auth 不为 null。auth.uid 是否等于资源 openid。auth.loginType 不为 ANONYMOUS。json 来描述,允许在满足条件时执行 read 及 write 操作,示例配置如下:{"read": boolean | condition expression string,}
json 配置的 key,是用户的操作类型,value 是一个表达式。当表达式执行结果的值是 true 的时候,用户的操作允许执行;否则,用户的操作则不被允许。操作类型 | 说明 | 默认值 |
read | 读取文件,例如:download | false |
write | 上传/覆盖文件,删除文件 | false |
auth、resource 对象获得,其提供可验证身份的上下文信息(auth.uid)和对象所有权(resource.openid)等信息。{"read": "auth.uid == resource.openid","write": "auth != null"}
auth 的规则均可被视为 public 规则,因为它不考虑用户的身份验证上下文,这些规则在呈现公开数据(静态资源内容)的场景下是很适用。{"read": "resource.openid != null"}
auth 变量为 null,因此可以设置如下规则:{"read": "auth != null"}
auth 最常见的使用场景在为个人用户资源提供精细的访问控制,例如上传私人照片等。云存储文件中包含了文件所有者信息(用户唯一 ID),在规则中可以如此限制:{"read": "auth.uid == resource.openid","write": "auth.uid == resource.openid"}
{"read": "auth != null","write": "auth.loginType != 'ANONYMOUS' && auth.openid == resource.openid"}
文档反馈