代码改变世界

通用权限管理设计

2009-04-14 20:58  Virus-BeautyCode  阅读(7013)  评论(21编辑  收藏  举报

      最近又碰到了权限的分配和管理,需要单独设计一套结构。其实以前有了很多的这方面的设计和博文,在园子里面的找找看就会找到N页的结果。

      这里也不敢说是新思路吧,权当是自己的总结和留个脚印吧,方便查找。

      通用在这里有两个概念:

      1、为了吸引眼球

      一看到是通用就要点开看看究竟,当然了,结果无非是几种,有人骂,有人捧,有人不感兴趣,有人回帖探讨。

      2、通用的范围

      通用不是说一概而论的通用,哪里都可以用,肯定存在调整或者根本就不能用的地方,有存在的合理性和范围的。

      

      本文将权限管理划分为对人、应用和权限的管理,存在人、应用和权限的对应关系。

      1、人

      人,也可以换成成组,人加入组之后,就拥有了组的权限;也可以给人赋予特权。

      2、应用

      可以按照应用来划分,比如说,个人办公,行政办公之类的;也可以分开小的模块,比如说个人办公中的任务管理,日程管理,行政办公中的通知管理和新闻管理。

      3、权限

      基本的权限一般就是增、删、改、查,以及这几种的演变组合,当然了,也存在其他的权限,可以看作是和这四种平行的关系。权限也可以根据应用的不同而不同,比如说计划中的权限为上报、收报和查看,这样就需要应用和权限的联动选择。

      示例界面如下,我就用table表达了。

      

 

 人 应用 权限  拥有
张三 个人办公 增加  是
删除 否 
行政办公 修改
查看 是 
      选择的时候可以先选择人或组,然后选择应用,最后选择人在这个应用上面的权限。把这几对应关系记录下来,当用户访问到应用的时候就会过滤看到的内容,和可以进行的操作。

      基本想法,环境大家讨论。其实这个是我的老大提出来的,然后结合以前做过的权限系统,觉得这个还是可以解决一些通用的问题的。