y***@yeah.net
y***@yeah.net
  • 发布:2022-04-24 14:06
  • 更新:2022-04-27 17:29
  • 阅读:460

使用unistarter时,本地uni_id_token中的role获取正确,但是permission都是[],uniIDHasPermission无效。

分类:uniCloud

使用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'))  
},
2022-04-24 14:06 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

角色权限是缓存在token内的,你看下是不是token生成之后你才为角色添加了权限

  • y***@yeah.net (作者)

    清除缓存重新登录也没用

    2022-04-27 19:19

  • DCloud_uniCloud_WYQ

    回复 y***@yeah.net: 调用什么登录接口返回的token,贴一个token出来看看

    2022-04-28 14:51

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