posts - 193,  comments - 520,  trackbacks - 0
很早就完成了权限系统的编码,这里把一些功能说明贴出来,也希望提提意见。

权限系统基于acegi框架实现了从前端页面到后台数据全面的控制。在权限控制中,它将权限分成五类:  
 
一是系统权限,主要是对模块为单位的权限划分,具体就是用户对该模块可见不可见,能不能对该模块进行再授权的操作。表现在用户界面就是用户登录系统主页面后,可以看到的顶部菜单和左侧outlookbar菜单的内容控制。作为粒度最大的权限控制,系统实现了web url的防盗链功能。举例来说,用户新开发的一个叫车辆管理的模块,配置在http://localhost/business/carmanage.actionurl下,当对这个模块的权限加以控制后,直接在浏览器中键入http://localhost/business/carmanage.action同样是无法访问的,而不仅仅是界面内容的屏蔽。
 
二是模块操作权限,在对整个模块的权限做出控制后,这里继续对模块的浏览、增加,修改,删除的操作权限做出控制,也可以理解为对象权限 。还是以车辆管理为例,不同的人员对这个模块的操作是不同的,有些用户可以新增,删除车辆;而有些用户则只是可以对车辆的情况查看不能修改。通过系统提供的一套web 标签,页面可以根据用户不同的操作权限屏蔽相应的功能按键。例如删除,新增按键。用户绕过页面直接操作相应业务方法同样也做到了严格的控制,没有权限的访问会被拒绝同时记入日志。 
 
三是数据范围权限,又可以叫做对象实例级权限。事实上不是每个用户都可以看到所有记录的。以财务管理为例,部门经理只能查看金额小于1W的数据;而总经理则没有限制。权限系统对这部分权限也做出了全面的控制,可以根据数据类型,相应字段数值范围做出控制。
 
四是单条数据ACL权限,为了满足更严格的数据权限要求,权限系统对数据实现了单条数据的ACL权限,具体说就是对每条数据都实现了权限控制,每条数据都有一到多条权限数据与其对应。以个人通讯录为例,每个用户都维护自己的一个通讯录,这些数据都只是对本人可见,其他人不可见。但用户可以对这些数据做出授权,将某条联系方式以授权的方式共享给其他人,并赋予不同的权限,包括拥有,修改,删除,浏览四种权限。

五是数据字段权限,通过xml配置,系统保证了用户的最小粒度的权限控制。每条业务数据权限可以精确控制到每一个字段。包括单个字段的可否浏览以及可否修改。保证了敏感信息的安全性。


授权,作为权限系统的重要部分,系统提供了相当方便的操作体验。以树状的方式展现权限主体(用户,角色,部门)以及资源,方便,直接,一目了然。区别与传统的RBAC模型,权限不仅仅可以分配给角色,也可以分配给部门和用户。实际的权限是这三者权限的叠加,最大限度的方便用户操作。考虑到用户的扩展,系统提供两个权限继承规则接口,用户可以自定义权限继承的规则。例如,部门A下有部门A1,部门A的权限是否由部门A1继承。

整个权限系统的数据都建立在系统统一的缓存管理之上,用户登录后,其权限信息即被缓存,保证系统的效率


http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2007-03-18 22:46 ronghao 阅读(4912) 评论(5)  编辑  收藏 所属分类: 权限相关

FeedBack:
# re: 权限系统功能说明
2007-03-19 09:03 | 祎恬凡
to: 通过系统提供的一套web 标签
这些标签是自己写的,还是acegi提供的  回复  更多评论
  
# re: 权限系统功能说明
2007-03-19 10:48 | 剃刀
楼主君的权限体系泛化的范围过宽,将导致难于理解,难于使用,日后难于维护的窘境  回复  更多评论
  
# re: 权限系统功能说明
2007-03-19 11:04 | Tortoise
好东西。在学习  回复  更多评论
  
# re: 权限系统功能说明
2007-03-19 16:22 | ronghao
to:祎恬凡
是对acegi标签的扩展,主要修改在权限逻辑部分。
to:剃刀
我不太明白,实际用户在二次开发过程中基本上不会与权限部分的API打交道,这样难于维护就比较难理解了。这也得益与acegi的AOP,filter处理,完全与业务代码分离。欢迎继续讨论  回复  更多评论
  
# re: 权限系统功能说明
2007-03-19 19:49 | 祎恬凡
能不能留下一个联系方式,最近也在用acegi搞权限,好随时请教!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜