若依-用户菜单权限

RBAC–基于角色权限控制

  • RBAC(Role-Based Access Control),即基于角色权限控制。将用户关联角色,角色关联权限的方式间接赋予用户权限。
  • 基本组成部分
    • 用户(User): 每个用户都有唯一的UID,并授予不同的角色。
    • 角色(Role): 不同角色具有不同的权限。
    • 权限(Permission): 对功能模块的操作权限。
  • RBAC实现了用户和权限的逻辑分离,极大方便权限管理和赋予。

若依–权限控制说明

  • 权限标识
    前后端都是通过权限标识进行权限控制

在这里插入图片描述

  • 角色权限分配
    修改普通角色的权限为用户查询

在这里插入图片描述

  • 用户角色赋予
    将普通用户的角色赋予给ry这个用户

在这里插入图片描述
在这里插入图片描述

  • 用户登录查看
    登录ry用户查看时用户管理时,与上图用户管理列表相比,发现缺少了相关操作的按钮
    在这里插入图片描述
  • 前端权限源码
    查看前端源码时发现v-hasPermi指令,该指令为自定义指令

在这里插入图片描述
删除后保存,刷新页面时显示了新增按钮

在这里插入图片描述
在这里插入图片描述
从源码上看,大体意思是从store中获取用户所拥有的所有权限,遍历用户的权限,判断是否包含"* : * : *"或匹配从v-hasPermi传过来数组列表,将不匹配的进行删除,最后将匹配上的权限操作/按钮显示到页面上

在这里插入图片描述

  • 后端权限源码
    @PreAuthorize()通过权限标识进行权限控制

在这里插入图片描述
在这里插入图片描述

在删除前端新增v-hasPermi基础上进行新增操作时,会提示报错,是由于@PreAuthorize()注解上,@ss.hasPermi()进行验证当前用户是否拥有该权限,如果没有该权限时,则返回false,对于false则会报错提示
在这里插入图片描述
通过该流程分析,若依实际上是基于角色权限控制

自定义–实现权限控制

  • 后端定义新接口
    通过@PreAuthorize()设置访问权限标识
    在这里插入图片描述
    在这里插入图片描述

  • 前端添加按钮和方法

在这里插入图片描述

  • 前端新建和配置菜单权限
    新建菜单
    在这里插入图片描述
    分配权限
    在这里插入图片描述
  • 前端测试访问新接口
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值