4***@qq.com
4***@qq.com
  • 发布:2021-06-23 13:05
  • 更新:2021-06-23 17:59
  • 阅读:350

值域校验怎么获取当前用户信息?

分类:uniCloud

需求:用户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对象呢?
或者,这种需求有别的处理方式?

2021-06-23 13:05 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com (作者)

查了一下官方文档,可以使用forceDefaultValue,但是,如果再加一级,比如给项目添加产品,产品表有个project_id,这种情况怎么防止操作别人项目下的产品?

4***@qq.com

4***@qq.com (作者)

找到文档了,用action,并在create里指明强制使用已写好的action

该问题目前已经被锁定, 无法添加新回复