您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 一个用户权限管理模块的设计思路
一个用户权限管理模块的设计思路:1.权限资源(功能资源)系统的所有权限信息。权限具有上下级关系,是一个树状的结构。如下:!--[if!supportLists]--!--[endif]--系统管理!--[if!supportLists]--!--[endif]--单位管理!--[if!supportLists]--!--[endif]--查看单位!--[if!supportLists]--!--[endif]--添加单位!--[if!supportLists]--!--[endif]--修改单位!--[if!supportLists]--!--[endif]--删除单位!--[if!supportLists]--!--[endif]--部门管理!--[if!supportLists]--!--[endif]--查看部门!--[if!supportLists]--!--[endif]--添加部门!--[if!supportLists]--!--[endif]--修改单位!--[if!supportLists]--!--[endif]--删除单位对于每个权限,又存在两种情况:1可访问;2可授权,部分表中采用拥有类型做判断(0可访问,1即可访问也可授权)2.用户系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限+所属的各角色具有的权限+所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。3.角色为了对拥有相似权限的用户进行分类管理,因此定义角色,例如:超级管理员,一般管理员、一般用户等角色。在这里同时也让角色具有上下级关系,形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。4.组为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际应用中,我们知道,组也可以具有自己的角色信息、权限信息。就好比是javaeye中的圈子,一个圈子可以拥有多个会员,同时一个会员也可以加入多个圈子,对于不同的圈子又有不同的权限信息。(组的解释:例如一个公司中,不同的部门即可划分不同的组来进行权限的分配)针对以上描述,结构关系如下:整个模块分为组权限管理、角色权限管理、用户权限管理。其中组权限管理:组权限=所属角色的权限合集+组自身的权限。角色权限管理:角色权限=角色自身权限。用户权限管理:用户权限=所属角色权限合集+所属组权限合集+用户自身权限。注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。欢迎大家拍砖,给点建议。
本文标题:一个用户权限管理模块的设计思路
链接地址:https://www.777doc.com/doc-2823709 .html