ruoyi的 v-hasPermi 测试

1.首先在  我的测试-子菜单  的view视图中添加了一个按钮

    <el-button
      type="primary"
      icon="el-icon-plus"
      size="mini">按钮1</el-button>

由于没有加v-hasPermi,因此,角色admin、角色common、角色testman都可以看到按钮1

此时,我想给按钮1设置权限,让角色admin、角色common能看到该按钮,而角色testman看不到该按钮,需要使用v-hasPermi

<el-button
      type="primary"
      icon="el-icon-plus"
      size="mini"
    v-has-permi="['mytest:chi:b1']">按钮1</el-button>

里面的参数值可以随便写,但是若依框架规定了必须是['xxx:xxx:xxx']的形式,

此时,角色admin可以看到该按钮(因为admin绕过了ruoyi的权限管理模块),

但是角色common和角色testman都看不到该按钮,这是由于只有携带了['mytest:chi:b1']标识的角色才能看到按钮1

可是['mytest:chi:b1']是我随便写的,ruoyi系统数据库中没有存入这个标识符,自然除了admin外的所有角色都没有携带该标识符,

因此,需要在将该标识符存入ruoyi数据库中,具体操作如下:

首先进入admin的菜单管理界面,在子菜单处新增一个按钮菜单,名称随便起,后面能找到就行,权限标识符必须对应mytest:chi:b1。

确定后,界面多出一个

通俗的来讲,就是我定义了一个随便起个名,他的标识符为mytest:chi:b1,同时数据库sys_menu中也多出了我刚才添加的内容,

此时就可以在admin的角色管理界面给不用角色分配权限了,

例如,我想让角色common看到按钮1,就把它勾上。想让角色testman看不到按钮1,就把它取消勾选。

反转:上面的操作反过来也行,即先在菜单管理界面增加子菜单的随便起个名,并随便写上一个标识符a。最后使用的时候,就给按钮1加上这个标识符a,即可在角色管理界面,通过勾与不勾选,来控制该角色对按钮1的权限有无了。

(感觉就像是按钮1通过标识符a随便起个名进行了绑定一样,用户没有随便起个名的权限,就看不到按钮1

注:

ruoyi在用户登录后,通过getinfo方法,获得用户所拥有的所有权限标识符(就是xxx:xxx:xxx),然后存在一个permissons参数中,每次用户进入一个新的vue组件,都会遍历这个permissons参数,然后与vue组件中所有有v-hasPermi选项的元素进行对应,如果能对应上,就显示这个元素,否则,就不显示这个元素。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值