权限管理系统——数据库设计

最近公司一直强调系统权限控制,精确到页面按钮的管理。那么问题来了,可能大多数人现在做的都是菜单的权限控制,至于页面内按钮控制怎么做呢?其实很简单,模仿呐、参考呐,前人栽树后人乘凉。哈哈~

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

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

那么,话不多说,开整。

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

RBAC

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

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

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

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

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

数据库设计

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

为您推荐

发表评论

您的电子邮箱地址不会被公开。