分级权限管理设计思路
一、分级权限管理的基本设计思路
================================
将业务系统的权限分成公司、部门、科室、员工四级,由各级权限管理员分别管理。
员工自动继承上级的权限。
分级权限管理的详细描述
公司级权限
一、【公司级权限】即业务系统的全部权限集合。
二、将【公司级权限】划分为两组,分别称为【默认权限】和【非默认权限】。
【公司级权限】的【默认权限】就是本公司下属每位员工能自动继承获得的权限。
【公司级权限】的【默认权限】比较特殊,只有“退出系统”和“重新登录”两个基本权限。
三、按照职能划分,将【非默认权限】分配给本公司下属各个部门,称为【部门级权限】
部门级权限
一、将本部门的【部门级权限】划分为两组,分别称为【默认权限】和【非默认权限】。
【部门级权限】的【默认权限】就是本部门下属每位员工能自动继承获得的权限。
二、按照职能划分,将【非默认权限】分配给本部门下属各个科室,称为【科室级权限】
科室级权限
同上类似
一、将本科室的所有权限划分为两组,分别称为【默认权限】和【非默认权限】。
【科室级权限】的【默认权限】就是本科室下属每位员工能自动继承获得的权限。
二、按照职能划分,将【非默认权限】分配给本科室下属各个员工,成为【员工级权限】
三、如有需要,对本科室下属各个员工定义【例外权限】。
【例外权限】抹去该员工从部门级、科室级自动继承获得的【默认权限】。
一个员工最后得到的权限是:
【公司级权限】的【默认权限】+【部门级权限】的【默认权限】+【科室级权限】的【默认权限】+【员工级权限】-【例外权限】
二、数据库表结构
================================
表一:公司级权限表
字段 含义
authcode 权限代码
authname 权限名称
authstate 权限状态 0-非默认权限 1-默认权限 2-未使用权限
authdesc 权限描述
表二:部门级权限表
字段 含义
deptno 部门代码
authcode 权限代码
authstate 权限状态 0-非默认权限 1-默认权限 2-未使用权限
表三:科室级权限表
字段 含义
deptno 部门代码
projno 科室代码
authcode 权限代码
authstate 权限状态 0-非默认权限 1-默认权限 2-本记录无效
表四:员工级权限表
字段 含义
deptno 部门代码
projno 科室代码
persno 员工代码
authcode 权限代码
authstate 权限状态 1-该记录有效 2-该记录无效
表五:员工级例外权限表
字段 含义
deptno 部门代码
projno 科室代码
persno 员工代码
authcode 权限代码
authstate 权限状态 1-该记录有效 2-该记录无效
三、结合数据库表描述权限分配的基本流程
================================
(一)初次设置
一、业务系统全部权限(即【公司级权限】)在《公司级权限表》中有唯一记录。
权限代码能体现出业务系统中操作菜单的结构。
《公司级权限表》中“退出系统”和“重新登录”两个基本权限的《权限状态》为1,新上线未明确使用情况的权限的《权限状态》为2,其他权限的《权限状态》为0。
二、业务系统的最高管理员(可能是业务系统系统拥有部门,也可能是信息技术部门),定义【部门级权限】。
由此,产生《部门级权限表》的全部记录,每条权限记录的《权限状态》默认为2。
三、部门级权限管理员定义【部门级权限】的【默认权限】和【非默认权限】,对应《部门级权限表》。
部门级权限管理员将【部门级权限】的【非默认权限】划分给各个科室,定义【科室级权限】。
由此,产生《科室级权限表》的全部记录,每条权限记录的《权限状态》默认为0。
四、科室级权限管理员定义【科室级权限】的【默认权限】和【非默认权限】,对应《科室级权限表》。
科室级权限管理员将【科室级权限】的【非默认权限】划分给各个员工,定义【员工级权限】。
由此,产生《员工级权限表》的全部记录。
科室级权限管理员定义【例外权限】。
由此,产生《员工级例外权限表》的全部记录。
(二)权限变更
一、部门级权限:未使用权限、非默认权限 -》 默认权限
基本处理:《部门级权限表》中某些记录的《权限状态》从2或者0,变更到1
附加处理:无,仅变更《权限状态》即可
二、部门级权限:未使用权限、默认权限 -》 非默认权限
基本处理:《部门级权限表》中某些记录的《权限状态》从2或者1,变更到0
附加处理:《科室级权限表》要增加或者修改相关记录,这些记录的《权限状态》为0,非默认权限
《员工级权限表》中如存在相关记录,要修改相关记录,这些记录的《权限状态》为2,该记录无效
三、部门级权限:非默认权限、默认权限 -》 未使用权限 即:回收权限
基本处理:《部门级权限表》中某些记录的《权限状态》从0或者1,变更到2
附加处理:《科室级权限表》、《员工级权限表》要修改相关记录,这些记录的《权限状态》为2,该记录无效
四、科室级权限:非默认权限 -》 默认权限
基本处理:《科室级权限表》中某些记录的《权限状态》从0,变更到1
附加处理:《员工级权限表》中相关记录的《权限状态》变更到2,该记录无效
五、科室级权限:默认权限 -》 非默认权限
基本处理:《科室级权限表》中某些记录的《权限状态》从1,变更到0
附加处理:根据实现需要,调整员工级权限
五、员工级权限:
基本处理:《员工级权限表》和《员工级例外权限表》中某些记录的《权限状态》从1变更到0,或者从0变更到1
四、界面原型
================================
略
(以上仅作锻炼思维和表达之用,)
原文地址:https://cruelsun.spaces.live.com/blog/cns!abc9625929950d4!141.entry
来源:世界和我爱着你
评论