一个权限模型设计
一、模型设计
统一权限管理中,将系统处理的信息分为三类:主体信息、授权信息和资源信息,如下图所示:
1、资源信息:由系统信息、菜单和元素组成。“系统信息”对应要使用权限控制的业务系统,一个系统包括有多个“菜单”,一个菜单包含有多个“元素”(如:按钮等)。
2、授权信息:由“岗位”和“角色”组成,它们之间是多对多的关系,即一个岗位可以拥有多个角色,一个角色可以属于多个岗位。“岗位”对应于实际工作中的职位,“角色”是一组系统菜单操作权限的集合。
3、角色授权:通过创建“菜单授权”和“元素授权”对象,实现将菜单和元素授权给某个角色。
4、身份信息:通过“身份信息”,实现了对用户的授权。身份信息中主要记录了三部分信息:用户ID、岗位ID和机构ID。其中“用户ID”和“岗位ID”用于建立用户和岗位之间的关联联系,实现对用户的“操作权限”授权,即可以看到哪些菜单、哪些按钮等。“机构ID”用于实现对“数据权限”的控制,即可以看到那些部门的业务数据,数据权限需要具体业务系统开发时配合实现才能起作用。
5、员工与用户:在主体信息设计中,将员工信息和用户信息进行分离,一个员工可以拥有多个用户,实现了更为灵活的权限控制。
6、用户与系统信息:用户与系统之间,建立了直接的多对多关联,可以更方便的控制一个用户可以访问那些业务系统。
二、操作流程
对于一个新的业务系统,开始使用统一权限管理时,按上图流程进行注册及权限分配。
在该程序中,其中1至3是创建业务系统的资源相关信息,4、5是创建业务系统对应的权限数据,6至8是创建用户相关信息,9、10是为用户进行授权操作。
(当然,这个模型设计的并不好,属于个人强逻辑思维的产物,缺乏科学规划。此记只是作个备忘,参考可以,别完全照搬,切记!!!)