需求:用户A可以创建属于A的项目
说明:项目表带有user_id字段,云数据库表create的权限设定是不能访问doc,即无法使用
create: "doc.user_id == auth.uid"
进行权限限制。
官方文档推荐create操作使用值域校验,但是值域校验函数
module.exports = function(rule, value, data, callback) {
// rule 当前规则
// value 当前规则校验数据
// data 全部校验数据
// callback 可选,一般用于自定义 errorMessage,如果执行了callback return 值无效,callback 传入的 message 将替换 errorMessage
// callback('message') 传入错误消息时校验不通过
// callback() 无参时通过
// 注意 callback 不支持异步调用,异步请使用 Promise/await/async
return value.length < 10
}
如何访问auth对象呢?
或者,这种需求有别的处理方式?
2 个回复
4***@qq.com (作者)
查了一下官方文档,可以使用forceDefaultValue,但是,如果再加一级,比如给项目添加产品,产品表有个project_id,这种情况怎么防止操作别人项目下的产品?
4***@qq.com (作者)
找到文档了,用action,并在create里指明强制使用已写好的action