# 后台管理

# 简介

TIP

使用开源的后台管理前端解决方案配合本人曾经做的项目,来总结一下后台管理的技术方案。

vue-element-admin 是一个前端解决方案,它基于 vue 和 element-ui 实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。

项目地址

vue-element-admin (opens new window)

配套学习教程

# 角色权限设计

# 什么是 RBAC 模型

迄今为止最为普及的权限设计模型是 RBAC 模型,基于角色的访问控制(Role-Based Access Control)

是指用户通过角色与权限进行关联。即一个用户拥有若干角色,每一个角色拥有若干权限。

这样,就构造成“用户—角色—权限”的授权模型。在这种模型中,用户与角色之间、角色与权限之间,一般者是多对多的关系。

# RBAC 模型的分类

RBAC 模型可以分为:RBAC0、RBAC1、RBAC2、RBAC3 四种。

其中 RBAC0 是基础,也是最简单的,相当于底层逻辑,RBAC1、RBAC2、RBAC3 都是以 RBAC0 为基础的升级。

# RBAC0 模型

最简单的用户、角色、权限模型。

  • 一个用户只充当一种角色,一种角色可以有多个用户担当
  • 一个用户可同时充当多种角色,一种角色可以有多个用户担当

# RBAC1 模型

相对于 RBAC0 模型,增加了子角色,引入了继承概念,即子角色可以继承父角色的所有权限

# RBAC2 模型

基于 RBAC0 模型,增加了对角色的一些限制:角色互斥、基数约束、先决条件角色等。

  • 角色互斥:同一用户不能分配到一组互斥角色集合中的多个角色,互斥角色是指权限互相制约的两个角色。案例:财务系统中一个用户不能同时被指派给会计角色和审计员角色。
  • 基数约束: 一个角色被分配的用户数量受限;

# RBAC3 模型

# RBAC 数据序列图

# 简单的权限模型

# 参考资料

知乎 - 通用的“用户角色权限”平台设计 (opens new window)
知乎 - 可能是史上最全的权限系统设计 (opens new window)