用户权限控制-RBAC权限模型

502 阅读2分钟

前言

什么是权限控制?

控制用户对系统资源(URI)的操作。权限控制又分为两部分 :前端权限控制和后端权限控制
前端权限控制:对页面或者页面元素的权限控制。
后端权限控制:对接口对数据的权限控制。

细致分类

  • 访问权限:哪些页面可以访问,哪些页面元素可见等。
  • 操作权限:页面按钮是否可以点击、是否可以增删改查等。
  • 接口与数据权限:接口是否可以调用、接口的数据字段范围等。

RBAC 权限模型

英文名(Role-Based ACCESS cONTROL) : 基于角色的访问控制。
关键词:用户、角色、资源、权限、操作
RBAC 模型的层级:RBAC0,RBAC1,RBAC2,RBAC3

关键词
  • 角色:不同的角色可以干不同的事情,例如:超级管理员可以干所有事情,中级管理员,普通用户能干的事情项队来说就少很多了。通过用户和不同角色绑定,就可以实现角色拥有的角色所拥有的权限的控制
  • 权限: 通过资源和操作给权限具体化。
  • 操作:前端的按钮、如何进行一个点击、如何进行页面的显现等。
  • 资源:用户能不能看到这个页面,能不能获取到相关的数据。
  • 用户与角色进行绑定,角色对应不同的操作权限,达到不同用户的权限控制。
案例 哔哩哔哩
  • 用户 : 注册用户
  • 角色 : lv0~lv6
  • 权限 : 视频投稿、发布动态等等。
  • 资源: 页面、页面元素、视频等等
  • 操作:投币等等

数据库表设计

  • 角色表
  • 用户角色关联表
  • 元素操作权限表 哪些元素需要什么权限操作
  • 角色元素操作权限关联表 角色和权限相关联
  • 页面菜单权限表
  • 角色页面菜单权限关联表不同角色能看到的页面

对应关系如下。 image.png

后续再增加元素权限的时候,只需再增加关联表即可,核心表 【用户表】【角色表】【用户角色关联表】