浅谈角色与权限

项目开发中,经常会涉及到一些基础开发,如组织机构管理,人员管理,权限管理等,这些是应用系统非常重要的基础组成部分,正因为大多应用系统都会用到这些组件,许多朋友如吉日想到了开发一个通用组件来出售,今天看到了郑州朋友许飞的文章,略有所感,也写一点关于这方面的分享。

一个供多人使用的应用程序,通常会对使用者加以区分,如超级管理员,管理员,普通用户等,也有些是如领导,员工之类的,不同的人在系统中可以做的事情是不同的,如超级管理员就可以查看管理员的操作日志,管理员可以增加普通用户,那么如果将这些操作简单抽象出来就是所谓的权限不同了,我们可以说能够进入后台的人只能是具备管理权限的人。也可以再做抽象,就是将超级管理员,管理员,普通用户当作是角色。这里我将角色跟权限分了两种设计方式来说。

人-权限

这种一般适用于小型系统,简单实用,每一个权限对应一个code,例如删除用户就是deluser,这个人如果有这个code就有权限,没有就不能执行删除用户动作。

人(deluser) ==>可以执行===>删除用户模块(deluser)

如张三(adduser,deluser)

李四(adduser)

那么,李四没有删除用户模块的code就不能执行删除用户动作。

人-角色-权限

这种方式呢是,对权限的进一步抽象,例如删除用户和添加用户都是管理员做的事情,那么就将这集中权限抽象出来我们叫管理员角色,还有普通用户角色等等。

具体应用是

管理员角色:删除用户,添加用户,添加文章

普通用户:浏览用户,浏览文章

测试用户:添加文章,浏览文章

将角色分配给人时:

张三:管理员

李四:普通用户

 

两种设计各有好处,可根据系统的复杂度来选择。本问只是简单说了一些想法,欢迎交流。

posted @ 2010-10-15 10:05  翁玉礼  阅读(1410)  评论(17编辑  收藏  举报