h***@qq.com
h***@qq.com
  • 发布:2023-08-19 10:52
  • 更新:2023-08-21 11:36
  • 阅读:174

关于doc.xx == auth.uid 的读取权限错误

分类:uniCloud

我的schema:

{
"bsonType": "object",
"required": ["name"],
"permission": {
"read": "doc.master_id == auth.uid",
"create": "auth.uid != null",
"update": "doc.master_id == auth.uid",
"delete": "doc.master_id == auth.uid"
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
},
"name": {
"bsonType": "string",
"description": "家庭名称",
"title":"家庭名称",
"trim": "both"
},
"code": {
"bsonType": "string",
"description": "家庭码",
"title":"家庭码",
"trim": "both"
},
"master_id": {
"bsonType": "string",
"description": "户主id",
"title":"户主id",
"forceDefaultValue": {
"$env": "uid"
}
}
}
}

前端的调用方式:
var res = await db.collection('nj-family').get();
console.log('nj-family',res);

数据库数据如附件,如果数据集全部符合条件,即

master_Id 全部为:"64ca5775a09a9bd68bb7f07e" 时,两条数据都能查询出来。但是当我把其中一条master_id的数据随意改成其他的时候,我的本意是想查出没有篡改的那条数据,但是结果缺报出了如附件的权限错误,请问我的用法有什么不对的地方吗?

2023-08-19 10:52 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

jql的读取权限限制是这么做的:查询条件所能查到的结果必须是权限对应的数据的子集。你看下你的查询条件能满足这点吗

  • h***@qq.com (作者)

    多谢,已经懂了,schema里配置的是鉴权,我以为是查询过滤

    2023-08-21 16:48

要回复问题请先登录注册