读书人

一个简易适用的web权限管理模块的应用

发布时间: 2012-10-27 10:42:26 作者: rapoo

一个简易实用的web权限管理模块的应用与实现

??? 本文介绍一个简易实用的web权限管理模块的应用与实现。

??? 先介绍数据模型和应用界面,后继对实现细节做选择性阐述。

??? 数据表关系如下:

?? 一个简易适用的web权限管理模块的应用与实现

?

????? 该图标明了登陆用户、角色、部门(机构)、用户组、角色和模块功能之间的关系。为方便起见,所有表都只保留必要字段。

????? 在本系统设计中,如下概念有着相对特殊的含义。

????? 一、用户(user): 系统的使用者。

????? 二、部门(org):体现了用户的行政关系,

????? 三、组(group) :是某相同职能的用户的集合,可以和用户一样与角色产生关联。设置组的目的是为了方便用户的角色分配,减少用户与角色的直接对应关系。用户的角色可以是其组角色和其直接分配的角色之合集。限于作者的时间和精力,组功能在该系统中没有具体的实现。
????? 四、角色(role):角色对应着某些功能(function)的集合,被分配一个角色意味着有权执行这些功能。角色表中的字段"functions"记录相关的功能id,id之间用逗号隔开。

????? 五、功能(function):系统的一个或者多个执行准入。

????? 那么如何表现“功能”以最终实现控制用户的每一个细微动作呢?假如不特定于某种架构,可以这么设计该表字段:

??? 

???? 由此可知,“功能”是衡量用户准入的最小刻度。在用户访问某个地址的时候,我们可以通过解析URL对比他拥有的“功能”权限来实现权限管理。

???? 借助于某些架构或者设计思路,可以避免用户直接访问JSP页面,甚至全系统的访问地址都使用同一后缀,这种情况下可以省去SUFFIX字段。 本系统就是这种情况(JSP页面置于WEB-INF下,采用struts2架构)。

???? 六、功能模块树(function tree):功能的目录组织,起分类的作用。在为角色设定功能的时候,用户界面可以利用带选择框的js树。而这颗js树是后台的功能树表以及功能表的联合表现形式。功能模块树可以方便的与菜单树建立映射关系,限于作者的时间和精力,该系统并未实现菜单树。
????下面从实际应用入手做直观的介绍:
???? 用超级管理员帐号YT000登陆(该帐号拥有全部的权限,帐号信息应该预先写入数据库或者以配置文件方式放到类路径下):
???? 首先是机构管理部分,这里可以编辑某个公司或者单位的组织结构:

???? 一个简易适用的web权限管理模块的应用与实现

???然后进入用户管理部分,会有一个用户列表:

一个简易适用的web权限管理模块的应用与实现


?? 可以编辑用户的属性,设置其所属机构:

一个简易适用的web权限管理模块的应用与实现

?

?

?? 还可以为用户设定多个角色:

一个简易适用的web权限管理模块的应用与实现

?? 接着,再看看角色的列表:

一个简易适用的web权限管理模块的应用与实现
?? 可以为角色设定功能。该角色设定树的生成,在后继文章中会有介绍。

?一个简易适用的web权限管理模块的应用与实现

?? 最后,在系统资源部分,可以进行功能模块树的编辑(和机构树的编辑一样)

? 一个简易适用的web权限管理模块的应用与实现

?? 点击编辑详细功能,可以为选中的结点设置具体功能:

?

?一个简易适用的web权限管理模块的应用与实现

????? 配置妥当以后,当我们以一个普通用户登录,执行某个操作的时候,如果没有权限,系统会做出提示。关于用户的权限验证,后继会有介绍。

?

???? 相关阐述请关注后继文章。

?

?

?

?

?

太强了!能把部分实现发给我么?十万分感谢!!!!!
celebaron@163.com 40 楼 liqi123456 2009-02-17 不错 好好学习一下 41 楼 ouyangjm 2009-02-17 不错,多谢交流! 42 楼 wawawa2222 2009-02-17 挑了几个文件看,很难看到注释!
而且没有数据库! 43 楼 yhw27del 2009-02-17 还不够通用 44 楼 lgdlgd 2009-02-18 这个没有实现数据权限 45 楼 tangtang2009 2009-02-20 没有jsp吗? 46 楼 nocb 2011-12-11 是啊,网页部分的代码能否给 看一下啊 3q
78713865@qq.com 47 楼 zccmp 2012-01-09 大哥,你能否把web权限管理模块这个完整代码包括jar包,一起发给我呀,我的邮箱为:zccmp@126.com
非常感谢!!
祝新年快乐。 48 楼 chenjunt3 2012-02-09 老大,能否将完整源码包括jar,ui,发一份学习一下呢?chenjunt3@163.com
谢谢!

读书人网 >Web前端

热点推荐