权限管理系统模型

实现基于角色的访问控制(RBAC)。简单来讲,RBAC 指的是经过用户的角色(Role)赋予其相关权限,这实现了细粒度的访问控制,并提供了一个相比直接授予单个用户权限,更简单、可控的管理方式。
image.png前端

权限的分类:
1.页面权限: 即用户登陆系统能够看到的页面,由菜单来控制,菜单包括一级菜单和二级菜单,只要用户有一级和二级菜单的权限,那么用户就能够访问页面缓存

2.操做权限: 即页面的功能按钮,包括查看,新增,修改,删除,审核等,用户点击删除按钮时,后台会校验用户角色下的全部权限是否包含该删除权限,若是是,就能够进行下一步操做,反之提示无权限。有的系统要求"可见便可操做",意思是若是页面上可以看到操做按钮,那么用户就能够操做,要实现此需求,这里就须要前端来配合,前端开发把用户的权限信息缓存,在页面判断用户是否包含此权限,若是有,就显示该按钮,若是没有,就隐藏该按钮架构

  1. 数据权限: 数据权限就是用户在同一页面看到的数据是不一样的,好比财务部只能看到其部门下的用户数据,采购部只看采购部的数据,在一些大型的公司,全国有不少城市和分公司,好比杭州用户登陆系统只能看到杭州的数据,上海用户只能看到上海的数据,解决方案通常是把数据和具体的组织架构关联起来,举个例子,再给用户受权的时候,用户选择某个角色同时绑定组织如财务部或者合肥分公司,那么该用户就有了该角色下财务部或合肥分公司下的的数据权限

3.1.动态权限: key1 = #{id} 。须要动态替换的权限;如淘宝客服能够看见由本身跟进的订单id
3.2 静态权限:key1 = value1。spa

3.系统设计

在权限管理系统中,部门就是一种用户组。在部门的树状结构中,用户能够看到父级部门所具备的权限
4.不足之处即改进
没法分配 角色为淘宝客服而且level>7 分配权限
解决方案:
...设计

相关文章
相关标签/搜索