uni-app schema 权限控制表现不一致 - 已解决
uni-app schema 权限控制表现不一致 - 已解决
产品分类:
uniCloud/腾讯云
### 操作步骤:
```json
"permission": {
"read": " auth.uid in get(`database.studios.${doc.stid._id}`).write.orders",
"create": "'order_create' in auth.permission",
"update": "auth.uid in get(`database.studios.${doc.stid._id}`).write.orders",
"delete": false
}
预期结果:
read可以通过,update也应该可以通过
### 实际结果:
read可以,update却不行
bug描述:
"permission": {
"read": " auth.uid in get(`database.studios.${doc.stid._id}`).write.orders",
"create": "'order_create' in auth.permission",
"update": "auth.uid in get(`database.studios.${doc.stid._id}`).write.orders",
"delete": false
}
read和update两个完全一致的权限控制,read可以通过,update却不行,有点懵圈了,试了doc.stid, doc.stid[0]._id,全不行。
更多关于uni-app schema 权限控制表现不一致 - 已解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
报错为:get方法内参数值必须唯一位置。
如果不是唯一值,那么read也应该不能通过,中间没有任何步骤,点击查看修改。
更多关于uni-app schema 权限控制表现不一致 - 已解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html
另外,在权限校验的过程,或运算 “||” 如果前面已经通过,不应该再去校验后面的啊,但是,schema里面似乎都要校验,不管是或与非,也就是检查get是否为唯一位置。
比如:“auth.uid == doc.uid || auth.uid in get(database.studios.${doc.stid._id}).write.orders”
如果左边通过了,是不是直接应该忽略右边呢?何必再去校验右边?
doc.xxx是跟你的where有关的,你的where条件怎么写的
回复 DCloud_uniCloud_WYQ: 那应该就是where条件的原因了


