权限管理系统之数据库设计【系列篇】
潇十一郎 人气:0前言
肺病几时朝日边,
炎方每续朱樱献。
疫气冲头鬓茎少,
情多唯欲哭残春。
牵牛织女渡河桥,
动摇浮蚁香浓甚。
人今已到九仙家,
心在琴书自忆家。
今天是2020.02.02 (爱你爱你) 也是中国新年大年初九。中国人民正在经受新型冠状病毒肺炎的折磨。每天看着不断上升的确诊病例和死亡病例。肺炎相关的时事新闻、广播、电台不断涌入。仿佛全国上下陷入深深的惶恐不安之中
虽然2020年的开头不顺,诸事扰心。但是我们依然要保持对美好生活的向往与追求。希望肺炎疫情能尽快遏制住。禽流感不要四处蔓延,我们老百姓能安居乐业,健健康康~
开篇
早在一个月前就有这个想法,从0到1开发一个权限管理系统。那么问题来了?怎么做呢? 参考哇,模仿哇,抄袭哇,学习哇。
1.了解RBAC是个什么玩意儿
2.技术选型(前端UI、数据库选择、后端架构搭建)
那么,话不多说,开整。
其中前端页面采用了H+,登录页抄袭了feiyitERP开源项目的登录页。后端采用了.NET Core 2.2,ORM使用自封装的Dapper。数据库使用Mysql
演示地址
http://role.fuyue.xyz
整个系统大概看起来是这样:
在系统讲解菜单中专门针对此系统有一个录屏视频讲解。
RBAC
在这里简单介绍一下RBAC吧,更多内容可以自己搜索一下相关资料。
RBAC(Role-Based Access Control )基于角色的访问控制。
RBAC 认为权限的过程可以抽象概括为:
判断【Who 是否可以对 What 进行 How 的访问操作(Operator)】
- Who:权限的拥用者或主体
- What:权限针对的对象或资源
- How:具体的权限
- Operator:操作。表明对 What 的 How 操作。也就是 Privilege+Resource
- Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系
可以看上图简单理解一下
数据库设计
按照我的设想,不希望一开始就把系统设计的很复杂(其实是能力有限,思考深度不够)。于是 就想着简单实现菜单、角色、角色权限、用户、组织机构这几块内容。最开始的数据库设计看起来是这个样子。
权限的主要涉及的表就是这7张表。
今天先写到这里吧,该运动了,加强身体抵抗力。
文末来个彩蛋:
加载全部内容