安全规则是一个可以灵活地自定义数据库和云存储读写权限的权限控制方式,通过配置安全规则,开发者可以在小程序端、网页端精细化的控制云存储和集合中所有记录的增、删、改、查权限,自动拒绝不符合安全规则的前端数据库与云存储请求,保障数据和文件安全。
正常的云数据库只有这四种权限:
但是实际应用我们肯定还需要更多对应的权限,比如只能增加不能删除但能修改,只能查看不能修改但能删除等等。这就需要我们自定义安全规则:
我们先来看简易权限配置所有用户可读,仅创建者可写
、仅创建者可读写
、所有用户可读
、所有用户不可读写
所对应的安全规则的写法,这个json配置文件的key
表示操作类型,value
是一个表达式,也是一个条件,解析为true时表示相应的操作符合安全规则。
// 所有人可读,仅创建者可读写 { "read": true, "write": "doc._openid == auth.openid" } //仅创建者可读写 { "read": "doc._openid == auth.openid", "write": "doc._openid == auth.openid" } //所有人可读 { "read": true, "write": false } //所有用户不可读写 { "read": false, "write": false }
简易的权限配置只有读read与写write,而使用安全规则之后,支持权限操作有除了读与写外,还将写权限细分为create新建、update更新、delete删除,也就是既可以只使用写,也可以细分为增、删、改,比如下面的案例为 所有人可读,创建者可写可更新,但是不能删除
"read": true, "create":"auth.openid == doc._openid", "update":"auth.openid == doc._openid", "delete":false