RBAC模型 && 各表设计与梳理

提示:此文可与【前端路由菜单面包屑实现】文章一起参考阅读,文章链接见总结

1.RBAC模型

全称:基于角色的访问控制(Role-Based Access Control)`

原则:后端做权限控制,前端做对应展示

通过角色和权限建立管理,再赋予用户不同的角色,来实现权限控制的目标

2.表设计

核心表: 用户表, 角色表, 菜单表, 权限表

关联表: 用户角色表, 角色菜单表, 角色权限表, 菜单权限表

在这里插入图片描述

3.表设计说明

  1. 角色表

    连接用户与菜单权限的关键表

  2. 菜单表

    二级菜单应该与对应的一级菜单做绑定(pid),菜单应有状态值表示该菜单是否可用(status)和一个状态值(也可以判断pid是否为顶级节点(0))表示该菜单是否是叶子节点(后面没有菜单了)(isLeaf)

  3. 权限表

    权限表可做类型区分,可分为菜单权限类型,页面元素权限类型和其他权限

  4. 用户表

    用户多时可以分用户组,然后为用户组分配角色

  5. 用户角色表

    每个用户应拥有一个角色

  6. 角色权限表

    通过角色可以去找寻拥有的权限

  7. 菜单权限表

    为权限绑定菜单,绑定子菜单即可,可用于权限树生成

    假设系统只设计到菜单以及菜单按钮的权限,那用户可以查询自己角色,通过角色可以查找到自己所有的权限,通过权限可以查到所有的子级菜单(去重),然后去生成自己的菜单树(该种情况可以没有下面的用户菜单表)

  8. 角色菜单表(可无)

    • 菜单和按钮权限分开时: 角色在绑定权限时,可以有绑定菜单选项(返回菜单树),让菜单仅跟权限绑定,这样用户就可以直接查到自己的菜单
    • 菜单和按钮权限不分开时: 角色在绑定权限时,可以只绑定权限(返回权限树),然后根据树节点,取出叶子节点绑定权限(保证每个菜单都至少有一个权限,或者将没有权限表的菜单剔除),其他节点取出替换到菜单权限中

总结

emmm…哪怪怪的,这是今年写毕设的时候整理的…
相关链接:【前端路由菜单面包屑实现】前端路由菜单面包屑实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值