版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息系统通用权限模块设计方案上海智领普华科技有限公司正文目录1 弓丨言31.1 开发背景31.2 编写目的31.3 运行环境32 总体设计42.1 设计目标42.2 设计思路42.3 主要功能和数据表52.3.1 主要数据表52.3.2 功能结构53 详细设计73.1 主界面73.2 第一步:定义登记应用系统菜单83.3 第二步:角色管理93.4 人员管理114 外部系统集成方法144.1 集成方法144.2 权限控制方法一:对页面元素进行控制164.3 权限控制方法二:对访问路径进行控制161引言1.1开发背景在我们开发软件过程中,经常会需要开发一个后台管理程序,用于管理我们开发的前台 软件
2、,当你开发的软件越来越多的吋候,你的管理后台也会越来越多,这时如果有一个统一 的管理后台来进来管理,尤其用统一的授权来分配设置系统的操作权限是保障系统安全操作 和代码复用快速实施的基础内容。权限是应用系统不可缺少的部分,每个系统都有口己的权限管理,有的系统权限设计的 比较细,有的设计的比较“粗糙”。每个系统对权限的要求也不同,基于这些情形我们把权 限做成一个公用的模块,采用角色来进行权限的授权,每个用户可以属于多个角色,该模块 将能和各类具体的业务应用系统进行集成,以达到系统权限统一配置和快速实施的目的。1.2编写目的对系统整体设计、系统功能描述及集成方法进行描述。1.3运行环境开发环境:j2
3、ee下的web系统操作系统:windows数据库:oracle 和 sql server2总体设计2.1设计目标权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统 的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来 设计一个相对通用的权限系统是很有意义的。本系统的设计冃标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、 各个界面的按钮控件等进行权限的操控;也可以对资源位置进行控制,比如某个页面的路径。 2.2设计思路权限系统的设计主要解决两个问题:权限定义和权限分配;权限定义是指系统用户和操 作的定义,即建立用户信息和操作信息
4、。权限分配是指建立用户信息和操作信息之间的关系, 只有建立了这种关系才能确定该用户是否有该操作的权限。给操作用户赋予一种角色,再给每个角色分配具体的访问资源;定义以人和操作(例如 按钮或者菜单)为管理单位,人即系统登录用户,操作即每一个界面元素,如按钮、菜单, 我们为这些操作分配一个唯一的权限码。权限分配好后如何使用权限呢,方法一、登录系统后,首先进行权限验证,如果他的权 限拥有与界面元素相同的权限编号,则界面元素显示,反之,则隐藏。方法二、通过过滤器 实现,对资源的访问路径进行比较,有则进入,否则跳转到提示页面告知用户不能操作此功 能。权限系统的逻辑结构如下图:图表1权限模块的逻辑结构2.3
5、主要功能和数据表2.3.1主要数据表«oolumn>pk rrod-le. rroduk rrodule rrodug module moduliid: varchar2(20) 2e varchar2 30> url varchar2(30. num: varchar2u0 level: number(4) higbid: varchar2(20)<pk>- pk/fm=varchar2人虽<oolumr»pk depart* *nefttjd varcmar2<20) deptro: varcmar2j20. deptharre: v
6、archar2(30) verk varchar2:100)« column*pk tser.id- varchar2 30; wortno: varchar230) usernae: varchar2:30) name varchar2(30> “诙x varchar2:30) departmental. varchar2(20) birtbds/: daterolejd varchar220) biredate: nvarchar2f50)«oolamr>fcpk rog.id: varchar2j30) rolens-ne varchar2/30) rok
7、.doc varchar2100<pk>* pk_w :农(varchar2)2.3.2功能结构以下为权限模块的功能结构系统菜单体理权限管3町访甸系统资源图表2功能结构3详细设计根据上面的设计原理,在对系统进行权限设计的吋候,遵循以下步骤:第一步:定义操作,实际应用系统中可能会有很多菜单、按钮或者页面,因此要先把需 通过权限控制的功能对象定义出来。为了管理操作,我们首先对系统划分模块,然后为模块 划分功能,最后为功能定义操作。也许这个过程在系统设计时候己经完成,但我们是要提供一个完全可定义的权限系统, 权限设计与具体业务无关,实际业务系统可按照自己的规划进行各模块的设计开发。而在应
8、 用权限系统时,权限系统只要登记实际应用系统的功能模块名称和操作动作(增加记录、删 除记录等)即可,从而对这些资源实现控制。第二步:定义角色,角色具体到实际业务工作中实际就是岗位职务或工种,角色建立好 后,再往角色里添加可以访问的系统模块资源。这些系统资源就组成了在系统中可访问的资 源,一个系统可以有很多角色,不同的角色有不同的访问资源。第三步:为人员分配角色,在第二步定义角色时已定义好了它可以访问的系统资源,从 而具有某个角色的人员就继承了该角色的操作权限。3.1主界面权限管理人员曾理介色理j柚前i j为戲丽j anw图表3系统主界面3.2第一步:定义登记应用系统菜单图表4定义登记具体业务应
9、用系统功能结构树型菜单加上表格数据展示,让人对系统菜单一目了然,更方便管理;&菜型1o弟草:0柯.3 0卷缸 3菜鵜0菜叩 。杲右 0菜单5c菜单级别:上购肆:|_请翊_、躬:名称:j叫匚亜增tn系歩杲单励谀单冷作区图表5添加一个功能菜单增加菜单,新增菜单自动编号,在模块ml列登记实际业务模块的功能名称。逐个登记业务系统所有的功能模块名称。图表6修改菜单33第二步:角色管理!孤smgs:第色管理图表7角色管理主页面工作内隹图表8添加角色1卜倾酬住盘:龟色聽y单菜单编号菜单名并莫单mftu菜单1 e2001m4imeoul.do0菜单】72002«2meau2.d30粟叙.2
10、v003x43meflus.do0菜单卩7飒菜单meai.do0他z酗菜单1tcuj.14?必菜切e200?1*1.2mecu! 2 joe0菓单口匚:008、英单!menu!0菜虹朋0菜赴匚、'"定【z回'02> 范、xu、 1 j、'、asm ir 范号您单is示刃塚区图表9给角色赋予可访问的资源左边为系统菜单展示及选择区,右边为已选菜单项展示区,这样让用户看着更直观,方 便操作。呻血単角色赛 期號色肌角色賞引测 艇蹄:专科非辻内务秋i更疸叵童亘图表10修改角色3.4人员管理2忝加图表门人员管理主界面i mms: 誘学?加人员驕 増讥员阖8编号柱名住
11、别出生日期所在豹工作岗位停改瞬14214顷女电网銅顷查看|©修改>h1».113水员男19驱25顾查薈|阪改'hi除313m96男195ow-09电附1厦部sjos5k询31swr515期俊女c修改3132xu男1940知 6鈕k长顷查看1c修改倍女皿9如肢俪贵人q s«c修改3130623男1959jj8.25臾电班员责人t 2fc修改3132392女1959-m-25am员q查厝hi除3132153女19594)8-25工腔设留工経®$任q 看©修改513270?孵男19加825设备运馆«koj!q查香c修改>
12、hi».图表12添加人员信息图表13修改人员信息由于使用系统的单位多数都有电子表格的人员名录,我们提供了将其导入本权限系统的功能。:人员色烫图表14人员资料导入导出人员信息导入导出,方便数据管理,避免系统更换时重新数据录入,从而减轻工作负担。al(“a工号abcdefg姓名性别1 l工号2 4214king3 123小风4 3130496徐玮5 3130497515胡俊陈国强63132444£12238 31306239 313239210 313215311 313270712 313252313 3132603余勤学建张陈舌陈贲女男女女男文女.124142 j3002k
13、ing121221213002 二调度主管bobo11111111111113002副值调度员xuweidrgerg h| 3002 二胡俊2521231362002杆变班班长陈国强联系电话部门编号工作岗位计算机登录名2002杆变小班负责人王玲荣1245662002变电班负责人傅砚11222222003高压监察员张学余3001工程部主任陈建勤2002线路巡悼胡华drgerg2002线路巡徹陈汉冲2002数据维护人员贲志棠 9e 4外部系统集成方法4.1集成方法本模块与其他系统集成非常简单,只需要引入本模块根目录的perm包及webroot f的 perm文件夹,然后将后面的色perm下的spr
14、ingxml文件夹里的配置文件迁移到需要集成的 配置文件里(struts相关配置文件及spring的相关bean配置),最后移入web-inf下的 drw.xml,还需要在web.xml加入以下内容<!- ajax的dwr框架配置-><servlet><servlet-name>dwv/sevlet-name><servlet-class>org.directwebremoting.servlet.dwrservlet</servlet-class><init-param><param-name>debu
15、g</param-name><param-value>true</param-value></init-param></servlet><servlet-mapping><servlet-name>dwr</servlet-name><url-pattem>/dwr/*v /url-pattem></servlet-mapping><!-编码过滤-><filter><filter-name>encodingfilter</fil
16、ter-name><filter-class>com.perm.util.encodingfilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingfilter</filter-name><
17、;url-pattern>/*</url-pattem></filter-mapping>注:本模块使用了 ajax的dwr框架,在系统集成时必须引入dwr.jaro否则,很多功能无 法正常使用。本模块采用的是oracle数据库,如要使用sqlserver,需耍修改两个地方:a、实体类映射文件。<class name=ucom.perm.bean. zbase_sys_modulen table=uzbase_sys_modulen schema=uperm,'>oracle映射文件class书写方式<class name=ucom.pe
18、rm.bean zbase_sys_module" table=hzbase_sys_modulengchema=nclbonicatalog=npermn>sql server映射文件class书写方式b、控制层分页方法的实现(com.perm.server.impl包下的文件,里面方法已写好,只需取消注释,然后注释掉oracle的分页即讨);public list getall(int startnim, int endnum) throws exception string sql = uselect * from (select rownum as num,from z
19、base_user_department t)”+ n where num>"+startnum+ h and num<=u +endnum;zbase_user_department bm = new zbase_user_department();ret urn dao. getallbysql (sql 9 bm) ;/oracle 分页/re turn do.getallby sei server (startnum, endnum f sgrl,n) ;/sgl server 分贝4.2权限控制方法一:对页面元素进行控制用户登录后,获得他的角色的所有可以访问的系
20、统资源,然后对页面元素进行判断<logicliterate id二"module" offset二"1" length="l" name="modulelist<logic:equal value=,t2003h property=nmoduleldn name=,module,>菜单三表示如果用户的权限里有2003,则菜单三显示</logic:equal></logic:iterate>4.3权限控制方法二:对访问路径进行控制用户登录后,获得他的角色的所有可以访问的系统资源,然后用
21、户在访问系统资源时,对请求路径进行过滤:在web.xml里进行配置:<filter><filter-name>modulefilter</filter-name><filter-class>com.perm.util.modulefilter</filter-class><init-param><param-name>nomodule</param-name><param-value>./msg.jsp</param-value></init-param></filter> <filter-mapping><filter-name>modulefilter</filter-name> <url-pattern>*.do</url-pattern></filter-mapping>在filte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新学期小学班级管理工作计划范本
- 2021年卫生院健康教育工作计划例文
- 镇纪委工作计划发言稿例文
- 市场部经理个人工作计划样本
- 护师年度工作计划例文
- 2024急诊科护理下半年工作计划范文
- 民办教育工作计划
- XX中学2024-2024学年教学工作计划
- 2024年学校爱国卫生工作计划范文
- 聊城大学东昌学院《舞蹈(二)》2021-2022学年第一学期期末试卷
- 电大本科《西方经济学》期末试题标准题库及答案(试卷号:1026)
- 国开(浙江)2024年秋《中国建筑史(本)》形考作业1-4答案
- 医院检验科实验室生物安全程序文件SOP
- 2024年街道办事处招考编外工作人员考试题库附答案
- 华润电力测评2024题库
- 小学英语形容词性物主代词PPT课件
- KYT危险预知训练PPT演示课件
- 典型零件的数控加工与仿真及实体造型论文
- T∕CACM 1105-2018 中医治未病技术操作规范 中药药浴
- 医疗器械项目开发设计流程图详图
- 财政系统诗歌朗诵:财政人之歌
评论
0/150
提交评论