使用unistarter时,本地uni_id_token中的role获取正确,但是permission都是[],因而uniIDHasPermission无效。
新建了3个用户(附件中user.json),分别赋予admin, writer和reviewer角色。writer的权限为per_article_write,reviewer的权限为per_article_review。具体见附件中(permission.json, role.json).
在unistarter项目的ucenter.vue页面,添加如下onShow代码后,经过测试,3个用户在本地uni_id_token的permission都是[],无法获取数据库设置的权限,请官方排查下,谢谢。
onShow(){
let uni_id_token = uni.getStorageSync("uni_id_token")
console.log("uni_id_token:",uni_id_token)
if(uni_id_token){
const userSegment = uni_id_token.split('.')[1]
let res = atob(userSegment)
console.log("解析token:", res)
}
console.log("存在角色admin:",this.uniIDHasRole('admin'))
console.log("存在角色reviewer:",this.uniIDHasRole('reviewer'))
console.log("存在角色writer:",this.uniIDHasRole('writer'))
console.log("存在权限per_article_write:",this.uniIDHasPermission('per_article_write'))
console.log("存在权限per_article_review:",this.uniIDHasPermission('per_article_review'))
},
y***@yeah.net (作者)
清除缓存重新登录也没用
2022-04-27 19:19
DCloud_uniCloud_WYQ
回复 y***@yeah.net: 调用什么登录接口返回的token,贴一个token出来看看
2022-04-28 14:51