权限管理系统之数据库设计【系列篇】

前言

病几时朝日边,
方每续朱樱献。
气冲头鬓茎少,
多唯欲哭残春。
牛织女渡河桥,
摇浮蚁香浓甚。
今已到九仙家,
在琴书自忆家。

今天是2020.02.02 (爱你爱你) 也是中国新年大年初九。中国人民正在经受新型冠状病毒肺炎的折磨。每天看着不断上升的确诊病例和死亡病例。肺炎相关的时事新闻、广播、电台不断涌入。仿佛全国上下陷入深深的惶恐不安之中

 

 虽然2020年的开头不顺,诸事扰心。但是我们依然要保持对美好生活的向往与追求。希望肺炎疫情能尽快遏制住。禽流感不要四处蔓延,我们老百姓能安居乐业,健健康康~

开篇

早在一个月前就有这个想法,从0到1开发一个权限管理系统。那么问题来了?怎么做呢? 参考哇,模仿哇,抄袭哇,学习哇。

 

1.了解RBAC是个什么玩意儿

2.技术选型(前端UI、数据库选择、后端架构搭建)

那么,话不多说,开整。

其中前端页面采用了H+,登录页抄袭了feiyitERP开源项目的登录页。后端采用了.NET Core 2.2,ORM使用自封装的Dapper。数据库使用Mysql

演示地址

此处留白,→群号:523490820

整个系统大概看起来是这样:

在系统讲解菜单中专门针对此系统有一个录屏视频讲解。

 

RBAC

在这里简单介绍一下RBAC吧,更多内容可以自己搜索一下相关资料。

RBAC(Role-Based Access Control )基于角色的访问控制。

RBAC 认为权限的过程可以抽象概括为:

判断【Who 是否可以对 What 进行 How 的访问操作(Operator)】

  • Who:权限的拥用者或主体
  • What:权限针对的对象或资源
  • How:具体的权限
  • Operator:操作。表明对 What 的 How 操作。也就是 Privilege+Resource
  • Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系

 

 

可以看上图简单理解一下

数据库设计

按照我的设想,不希望一开始就把系统设计的很复杂(其实是能力有限,思考深度不够)。于是 就想着简单实现菜单、角色、角色权限、用户、组织机构这几块内容。最开始的数据库设计看起来是这个样子。

 

 

权限的主要涉及的表就是这7张表。

今天先写到这里吧,该运动了,加强身体抵抗力。

文末彩蛋

 

posted @ 2020-02-02 16:09  潇十一郎  阅读(2159)  评论(4编辑  收藏  举报