萌萌还是苗苗

分级权限管理设计思路

一、分级权限管理的基本设计思路

================================ 

将业务系统的权限分成公司、部门、科室、员工四级,由各级权限管理员分别管理。
员工自动继承上级的权限。

分级权限管理的详细描述

公司级权限

一、【公司级权限】即业务系统的全部权限集合。
二、将【公司级权限】划分为两组,分别称为【默认权限】和【非默认权限】。
【公司级权限】的【默认权限】就是本公司下属每位员工能自动继承获得的权限。
【公司级权限】的【默认权限】比较特殊,只有“退出系统”和“重新登录”两个基本权限。
三、按照职能划分,将【非默认权限】分配给本公司下属各个部门,称为【部门级权限】

部门级权限

一、将本部门的【部门级权限】划分为两组,分别称为【默认权限】和【非默认权限】。
【部门级权限】的【默认权限】就是本部门下属每位员工能自动继承获得的权限。
二、按照职能划分,将【非默认权限】分配给本部门下属各个科室,称为【科室级权限】

科室级权限

同上类似
一、将本科室的所有权限划分为两组,分别称为【默认权限】和【非默认权限】。
【科室级权限】的【默认权限】就是本科室下属每位员工能自动继承获得的权限。
二、按照职能划分,将【非默认权限】分配给本科室下属各个员工,成为【员工级权限】
三、如有需要,对本科室下属各个员工定义【例外权限】。
【例外权限】抹去该员工从部门级、科室级自动继承获得的【默认权限】。

一个员工最后得到的权限是:
【公司级权限】的【默认权限】+【部门级权限】的【默认权限】+【科室级权限】的【默认权限】+【员工级权限】-【例外权限】


二、数据库表结构

================================

表一:公司级权限表 
字段    含义
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

来源:世界和我爱着你

评论