前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一下使用若依的权限使用

记录一下使用若依的权限使用

作者头像
裴大头
发布2022-01-17 13:46:50
2.8K0
发布2022-01-17 13:46:50
举报
文章被收录于专栏:裴大头的专栏

封装了一个指令权限,能简单快速的实现按钮级别的权限判断。v-permission(opens new window)

使用权限字符串 v-hasPermi

代码语言:javascript
复制
// 单个
<el-button v-hasPermi="['system:user:add']">存在权限字符串才能看到</el-button>
// 多个
<el-button v-hasPermi="['system:user:add', 'system:user:edit']">包含权限字符串才能看到</el-button>
复制

使用角色字符串 v-hasRole

代码语言:javascript
复制
// 单个
<el-button v-hasRole="['admin']">管理员才能看到</el-button>
// 多个
<el-button v-hasRole="['role1', 'role2']">包含角色才能看到</el-button>
复制

这是官方给的使用文档

这里做下说明:

首先角色字符串很好理解首先角色字符串很好理解

如下图就是给角色配置的权限字符

下载.png
下载.png

使用v-hasRole判断当前角色是否满足条件即可

其次是不好理解的权限字符,这里的权限字符是菜单管理里面配置给页面或者是按钮的权限字符。

这里将页面或者按钮配置上权限字符。

下载 1.png
下载 1.png

在角色管理的修改中可以配置菜单或者按钮,也就是将这些页面和按钮的权限字符分配给角色。

image.png
image.png

在项目中初始会调用获取权限字符接口,用户会拿到自己的所有权限字符(getInfo()里的permissions就是权限字符数组)。

代码语言:javascript
复制
//这是获取登录人权限标识的sql
SELECT DISTINCT
    m.perms 
FROM
    sys_menu m
    LEFT JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
    LEFT JOIN sys_user_role ur ON rm.role_id = ur.role_id
    LEFT JOIN sys_role r ON r.role_id = ur.role_id 
WHERE
    m.STATUS = '0' 
    AND r.STATUS = '0' 
    AND ur.user_id = #{userId}
复制

最后在前端中使用v-hasPermi指令就可以判断当前登录人权限字符中是否包含某些特定的权限字符,就可以判断是否展示使用指令的组件。 目前数据权限还没有使用过,以后会慢慢学习,一起交流···

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 封装了一个指令权限,能简单快速的实现按钮级别的权限判断。v-permission(opens new window)
    • 使用权限字符串 v-hasPermi
      • 使用角色字符串 v-hasRole
      • 这是官方给的使用文档
        • 首先角色字符串很好理解首先角色字符串很好理解
          • 其次是不好理解的权限字符,这里的权限字符是菜单管理里面配置给页面或者是按钮的权限字符。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档