系统权限设计
权限包括功能权限和数据权限
功能权限:
组织机构,是公司的组织架构,有不同的组织类型(公司、部门、小组、其他),有上下级关系。
用户:系统登录使用用户,用户挂在组织机构下。
角色:系统功能角色,如:管理员,部门经理,普通用户等,用户与角色是多对多的关。有上下级关系,上级角色拥有下级角色的所有权限;
系统资源:菜单,功能操作按钮。如:部门管理是菜单,增、删、改、查是操作,每一项对应一个URL。 资源与角色是多对多关系。有上下级关系
疑问1:了解一下系统的权限设计,有的设计中,系统资源表分为2张表(资源表和操作表),我设计把这2块放在一起,用类型区别(菜单和操作),能否满足需求?
疑问2:用户是否需要做上下级管理(下属管理),我没有做,我默认是以组织机构为上下级,能否满足需求?
疑问3:权限控制颗粒度如果做到细分化,如何在页面上控制到操作权限?
疑问4:如下设计只是做了功能权限的设计,如果做数据权限的设计?
目前数据权限控制是在程序中定义的,比如:普通用户只能看到他自己的数据,部门经理就能看到该部门下所有员工的数据,以组织机构来划分数据范围;能否有更好的设计做成可配置化的?
数据库设计如下(简单设计):