`
Augustan
  • 浏览: 51557 次
  • 性别: Icon_minigender_1
  • 来自: 江蘇
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

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

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

    数据表关系如下:

   数据模型

 

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

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

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

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

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

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

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

CREATE TABLE  `m2_function` (
  `FUNCTION_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `NAME` varchar(50) NOT NULL,
  `FUNC_TREE_ID` int(10) unsigned NOT NULL,
  `RESOURCE` varchar(100) NOT NULL,
  `SUFFIX` varchar(50) NOT NULL,
  `DESCRIPTION` varchar(100) NOT NULL,
  `PARAMS` varchar(45) NOT NULL,
  PRIMARY KEY (`FUNCTION_ID`)
)  DEFAULT CHARSET=utf8;

    假定有三个web访问路径
  http://127.0.0.1:8080/app/sys/user.jsp?action=index&userid=1203 
  http://127.0.0.1:8080/app/sys/user.yuetong?action=add
  http://127.0.0.1:8080/app/sys/user.yuetong?action=update&userid=1203
     这三个访问点被人为的划分为两个功能准入(当然亦可以是一个或者三个),见下图     

   

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

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

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

    

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


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

 

 

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

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


   可以为角色设定功能。该角色设定树的生成,在后继文章中会有介绍。

 

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

 

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

 

 

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

 

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

 

 

 

 

 

73
12
分享到:
评论
48 楼 chenjunt3 2012-02-09  
老大,能否将完整源码包括jar,ui,发一份学习一下呢?chenjunt3@163.com
谢谢!
47 楼 zccmp 2012-01-09  
大哥,你能否把web权限管理模块这个完整代码包括jar包,一起发给我呀,我的邮箱为:zccmp@126.com
非常感谢!!
祝新年快乐。
46 楼 nocb 2011-12-11  
是啊,网页部分的代码能否给 看一下啊 3q
78713865@qq.com
45 楼 tangtang2009 2009-02-20  
没有jsp吗?
44 楼 lgdlgd 2009-02-18  
这个没有实现数据权限
43 楼 yhw27del 2009-02-17  
还不够通用
42 楼 wawawa2222 2009-02-17  
挑了几个文件看,很难看到注释!
而且没有数据库!
41 楼 ouyangjm 2009-02-17  
不错,多谢交流!
40 楼 liqi123456 2009-02-17  
不错 好好学习一下
39 楼 celebaron 2009-02-16  
   太强了!能把部分实现发给我么?十万分感谢!!!!!
celebaron@163.com
38 楼 米客一族 2009-02-16  
power design  好文章
37 楼 lvdong5830 2009-02-16  
学习一下,呵呵
36 楼 kfc_davy 2009-02-15  
宝宝可爱~
35 楼 joney.xia 2009-02-11  
讲的很详细,曾经做过类似应用,跟你的比还是有差距啊。谢了。
34 楼 aw815 2009-02-09  
谢谢,讲的很好,有参考价值,你比那些光说不练的好太多了,非常感谢
33 楼 hnicypb 2009-02-07  
跟自己用的差不多。。。
32 楼 freeending 2009-01-31  
牛年寻牛人....
你是是个...
[/b][b][b][/b]
31 楼 ybbid 2009-01-24  
forefront 写道

数据表关系使用什么画的?

powerdesigner
30 楼 ybbid 2009-01-24  
好文收藏之.
29 楼 xyl97 2009-01-22  
能不能把实现部分发到我邮箱里去,非常感谢。
xia_2998@126.com

相关推荐

    简易的学生管理系统ASP.NET

    是一个简易的ASP.NET系统,主要实现登录功能和两个模块信息的增删改查。 二、功能介绍 1、管理员信息管理:添加、修改、删除、查找用户信息,分页,添加,修改用户权限; 2、学生信息管理:添加、修改、删除、查找...

    基于WEB的商场管理系统的设计与实现

    本文通过对现代企业信息化管理进行分析,根据商场信息化管理的实际需求,设计并实现了一个基于WEB技术的商场管理系统。该系统由七个功能模块组成,即:商品信息管理模块、客户信息管理模块、商品进货管理模块、商品...

    ASP基于WEB的商场管理系统的设计与实现(源代码+参考文献).zip

    通过对现代企业信息化管理进行分析,根据商场信息化管理的实际需求,设计并实现了一个基于WEB技术的商场管理系统。该系统由七个功能模块组成,即:商品信息管理模块、客户信息管理模块、商品进货管理模块、商品销售...

    [计算机毕设]基于asp的商场管理系统设计与实现(源代码+项目报告).zip

    本文通过对现代企业信息化管理进行分析,根据商场信息化管理的实际需求,设计并实现了一个基于WEB技术的商场管理系统。该系统由七个功能模块组成,即:商品信息管理模块、客户信息管理模块、商品进货管理模块、商品...

    Python-Web简易版学生信息管理系统

    Python-Web简易版学生信息管理系统项目代码及文档说明,主要使用flask框架和Bootstrap,内容样式等还有待调整。对学生信息进行管理,学生信息包括:专业,学号,姓名,性别,出生年月,籍贯,联系电话,宿舍号等。该...

    基于JavaWeb的设备信息管理系统(源代码+sql文件)

    创建后台数据库,然后用编写程序实现对数据库的操作,按照要求完成所有的功能和模块。 2. 设备管理信息系统主要功能 部门操作员和操作管理员首先需要注册并通过超级管理员的认证后,才能登录到系统中来,超级管理...

    ASP基于WEB的商场管理系统的设计与实现(源代码+毕设文档).zip

    本文不仅叙述了该商场管理系统的设计过程,包括需求分析,系统架构的设计,以及功能模块的划分等,而且详尽叙述了各个功能模块的具体实现方法,包括如何在服务器端响应客户请求,如何进行相应的数据库访问、以及如何...

    基于ASP的商场管理系统(源代码+说明报告)

    本文通过对现代企业信息化管理进行分析,根据商场信息化管理的实际需求,设计并实现了一个基于WEB技术的商场管理系统。该系统由七个功能模块组成,即:商品信息管理模块、客户信息管理模块、商品进货管理模块、商品...

    课程设计-基于Java web的学生选课管理系统(源码+数据库+报告).zip

    学生选课系统实现了对教师、学生、课程的基本管理。系统对学生角色提供了个人信息查看、查看已选课程、选课和退选的功能;对教师提供查看个人信息查看、查看分配课程、选择他课程的学生的情况和期末对学生成绩进行...

    温州天邦简易ERP企业管理系统

     温州天邦简易ERP企业管理系统(简称TBERP)是温州柳市电器行业信息化ASP平台开发与应用项目,2005年1月成功入选『国家863计划』于2007年3月顺利通过国家科委专家评审,属乐清科技局科技创新专项资助重点推广项目。...

    ASP简易网络存储系统的设计与实现.zip

    这些项目源码还提供了丰富的功能模块和插件,支持用户管理、权限控制、数据可视化、电子支付、互动社交等特色功能。 通过使用这批ASP项目源码,开发人员可以快速搭建相应的Web应用程序,减少从头开始开发的时间和...

    asp.net实现的学生信息管理系统

    是一个简易的ASP.NET系统,主要实现登录功能和两个模块信息的增删改查。 二、功能介绍 1、管理员信息管理:添加、修改、删除、查找用户信息,添加,修改用户权限; 2、学生信息管理:添加、修改、删除、查找...

    基于Java Web学生选课管理系统.zip

    主要模块:选课信息管理,学生信息管理,教师信息管理,课程信息管理,修改密码。模块中包含增删改查 系统分三种用户:管理员,教师,学生。每个用户在各个模块中的权限不同 数据库:navicat

    新闻文章小虫新闻管理系统V1.0-xcnewsv1.0.rar

    小虫新闻管理系统V1.0_xcnewsv1.0.rar是一款基于Java Server Pages (JSP)技术实现的简易新闻管理系统,旨在为用户提供一个便捷的新闻发布、管理和浏览平台。该系统集成了新闻内容的添加、编辑、删除和查询等基本功能...

    基于python web开发的简易订单系统+源代码+文档说明

    后端框架采用了base(基础类库层)、bean(后台逻辑层)、dao(数据持久层)、web(view展示层)的四层结构,代码结构清晰,高度模块化设计,使得开发起来高效、实用、可靠,并且便于扩展和维护。 下面是该系统的...

    SsCMS简易企业网站管理系统 1.3.rar

    6.管理员可定义管理权限。 7.新闻和产品支持无限级分类。 程序安装的必要条件: 服务器配置: 推荐配置:Windows 2000/2003+IIS 5.0/6.0或者更高版本 本系统需要服务器支持FSO(FileSystemObject),如果你...

    【小程序素材】简易计算器.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    asp.net知识库

    Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...

    php部署和管理

    Php web application manager 〖目的〗 鉴于tomcat提供了应用后台管理功能,而php中没有,所以开发这个小...这一简易应用为方便开发而开发,所以,大家可自由使用。欢迎使用和修改,有问题请联系: yiming_1983@qq.com.

    简易博客留言系统

    这个是本人在学习web应用开发过程中记录,并加入自己的设计思想,其中的技术包括oracle数据库的访问、查询、增加、修改、删除,web页面的分页技术,web系统登录的权限控制技术,单一用户登录控制技术等,但是遗憾的...

Global site tag (gtag.js) - Google Analytics