前言:
RBAC是Role-Based Access Control的缩写, 它几乎成为权限系统的数据模型的选择标配.
之前写个两篇关于权限系统的文章, 主要涉及如何在应用中实现权限控制, 对权限系统本身的数据模型未着水墨. 权限系统的设计到现在为止, 非常的成熟, 而且网上的资料大而全. 比如这篇博文: 权限系统与RBAC模型概述, 其基本就涵盖了各类RBAC的权限数据模型的设计, 可根据小/中/大的业务场景进行定制.
本文结合自己的业务场景, 介绍一个小型的后台管理系统的权限系统(RBAC)的数据模型, 权做笔记, ^_^.
相关系列文章:
1. springmvc简单集成shiro
2. 类Shiro权限校验框架的设计和实现
设计目标:
最简化RBAC的数据模型, 同时为了给系统添加一定的灵活度, 即可以单独给用户赋予某个特定权限.
这边把权限定义为:
数据模型:
对了小型的后台管理系统, 用户不多, 表可以采用单库单表, 总之尽量简单, 这边的表都保留id字段(主键自增)作为约定.
作为最基础的RBAC表设计:

为了增加灵活性, 单独添加的用户到权限的双向映射表.

事实上, 如果业务规模真的不大, 且权限的粒度较粗, 完全退化为了用户/权限表模型, 也是可以完全满足需求的, 而且实现更快.
这边结合了两种, 算是一个小复合模式.
后记:
RBAC的权限确实很成熟, 不过还是那句老话, 纸上得来终觉浅, 绝知此事要躬行.
本文权做个人笔记了.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154770.html