uni-cloud-router里的中间件加了
onst uniId = UniId.createInstance({context: ctx.context});
const dbJQL =
uniCloud.databaseForJQL({event: ctx.event, context: ctx.context});
context里确定有uniIdToken
用const auth = await uniId.checkToken(ctx.event.uniIdToken)也验证了token没问题
schema设定了权限表全部为true,但还是报错{"code":"PERMISSION_ERROR","message":"权限校验未通过"}
尝试了使用
dbJQL.setUser({ // 指定后续执行操作的用户信息,此虚拟用户将同时拥有传入的uid、role、permission
uid: auth.uid, // 建议此处使用真实uid
})
强行注入用户也还是校验权限未通过
但使用admin用户就可以访问,可是schema已经全部设定了true为啥还会这样啊?
DCloud_uniCloud_WYQ
只有jql会走权限校验,schema内搜一下permission 和 password看看有没有特别的值不允许读写。另外检查一下连的是本地云函数还是云端云函数,schema有没有同步
2022-09-02 18:34
z***@outlook.com (作者)
回复 DCloud_uniCloud_WYQ: 哦,mongo那个是没看仔细,JQL权限的问题是创建了一张新表,就一个uid, _id俩字段,permission只有表级permission,全部为true,但还是不行,本地和云函数都试过了而且schema也都同步了
2022-09-02 19:07
z***@outlook.com (作者)
回复 DCloud_uniCloud_WYQ: 又试了一下,云端函数可以了,但是本地还是不行
2022-09-02 19:25
z***@outlook.com (作者)
回复 DCloud_uniCloud_WYQ: 尝试清理了本地token缓存也不行
2022-09-02 19:27
DCloud_uniCloud_WYQ
回复 z***@outlook.com: 云端和本地schema一致吗?
2022-09-05 12:02
5***@qq.com
回复 DCloud_uniCloud_WYQ: 我也遇到和楼主同样的问题,表级权限全部为true,字段没有设置权限,在uni-cloud-router,使用uniCloud.databaseForJQL({event: ctx.event, context: ctx.context});创建对象,一直都是权限校验未通过,求解?
2022-10-02 21:23