RBAC的权限设计思想

125 阅读1分钟

我们先了解下传统的权限设计

image.png

传统的权限设计是对每个人进行单独的权限设置,但这种方式已经不适合目前企业的高效管控权限的发展需求,因为人数大了之后都要单独去设置权限。

我们再看看REAC权限设计,RBAC(Role-Based Access control)

image.png RBAC实现了用户和权限点的分离,想对某个用户设置权限,只需要对该用户设置相应的角色即可,而该角色就拥有了对应的权限,这样一来,权限的分配和设计就做到了极简,高效,当想对用户收回权限时,只需要收回角色即可。

RBAC 权限管理分析

用户 角色 权限

数据方面

权限的操作-->添加权限 删除权限 编辑权限 角色的操作-->给角色分配权限 删除角色权限 用户的操作-->给用户分配角色 删除用户角色

视图层面

从服务端拿到标识符(当前登录的账号允许访问的路由) 在本地所有的路由规则中进行对比,对比成功的就是当前登录的账号可以访问的路由规则,同时把匹配成功的路由规则动态的添加到router对象身上。 取消了静态路由和动态路由合并赋值给routes 设置一个getter,通过getter,设置左侧菜单的内容。

image.png