B_S系统的用户权限设计与实现

上传人:沈*** 文档编号:167929159 上传时间:2022-11-06 格式:DOC 页数:8 大小:299KB
收藏 版权申诉 举报 下载
B_S系统的用户权限设计与实现_第1页
第1页 / 共8页
B_S系统的用户权限设计与实现_第2页
第2页 / 共8页
B_S系统的用户权限设计与实现_第3页
第3页 / 共8页
资源描述:

《B_S系统的用户权限设计与实现》由会员分享,可在线阅读,更多相关《B_S系统的用户权限设计与实现(8页珍藏版)》请在装配图网上搜索。

1、第 6卷第 15期 2006年 8月科学技术与工程Vol. 6 No. 15 Aug. 2006222Science Technology and EngineeringZ 2006 Sci. Tech. Engng.1671 1815( 2006) 15 2364 04 B / S系统的用户权限设计与实现郭艺峰刘万军13(辽宁工程技术大学电子与信息工程系 ,软件学院1 ,葫芦岛 )摘要针对 B / S系统中的用户权限访问控制的问题 ,提出了一种基于角色访问控制和 W eb Services技术的用户权限设计。利用角色访问控制技术可以有效地实现用户访问权限的动态管理 ,而 W eb Servi

2、ces提供的高度互操作性和访问性能够很好地完成对用户权限的验证。在某油田无线数据管理信息系统中 ,将两者结合起来 ,取得了较好的效果。关键词角色 W eb ServicesB / S系统用户权限RBAC中图法分类号 TP311. 52; 文献标识码 AInternet的出现和发展 ,为信息的传播、交换、共享提供了快捷有效的方法 ,互联网的流行催生了 B /S (浏览 /服务 )这种新的交互方式 ,同时也对传统的基于 C / S (客户 /服务 ) 的信息系统造成强大冲击。用户群在广度和深度上的扩展 ,系统服务的升级和管理的便利性 ,都使得基于 B / S 的信息系统更具生命力。然而 , Int

3、ernet的开放性与信息系统对用户权限约束之间的矛盾也加剧了。B / S系统这种方式提高了对网络安全的要求 , 因为用户是分布式的 , 浏览器成为其进行系统访问的主要工具 ,用户端的限制很少 , 而且网络中的信息以明文的方式进行传输 ,缺少必要的用户权限控制往往导致严重的安全漏洞。因此 , B / S系统的用户权限管理成为研究热 点。本文提出一种基于角色访问控制和 W eb Serv2ices技术的用户权限设计方案能有效解决系统资源的访问权限控制问题。1基本原理2006 年 4 月 5 日收到第一作者简介: 郭艺峰 ( 1981) ,男 ,福建漳州人 ,硕士研究生 ,研究方向:计算机软件理论及

4、其应用。E - Mail: guoyifeng so2hu. com。3 通信作者简介: 刘万军 ( 1959 ) ,男 ,辽宁北宁人 ,教授 ,主要研究方向:人工智能、软件理论。1. 1 RBAC基于角色的访问控制 ( Role B ased Access Con2trol , RBAC) 是一种灵活、高效的访问控制方法 ,它有效地克服了传统访问控制 (DAC , MAC 等 ) 技术中存在的不足 , 可以减少授权管理的复杂性 , 降低管理开销。RBAC 在用户和权限之间引入了角色的概念 ,安全管理员根据实际需要定义各种角色 , 并设置和角色相对应的访问权限 ,而用户根据其职责被指派为不同的

5、角色。这样 ,访问权限和角色相关联 ,角色再与用户关联 , 从而实现了用户与访问权限的逻辑分离。RBAC的基本思想可简单地用图 1 表示 ,即把整个访问控制过程分为两步: 角色指派 , 用户与角色相关联 ,通过角色使用户与访问权限在逻辑上分离; 权限指派 ,使角色与访问权限相关联。图 1 RBAC的基本思想由于 RBAC 实现了用户与访问权限的逻辑分离 ,因此它便于权限管理。例如 , 如果一个用户的职位发生变化 , 只要将用户当前的角色去掉 , 由代表新职务或新任务的角色代替即可 , 角色 /权限之间的变化比角色 /用户关系之间的变化相对要慢得多 ,并且委派用户为某角色不需要很多技术 , 可以

6、由行政管理人员来执行 ,而配置权限到角色的工作15期郭艺峰 ,等 : B / S系统的用户权限设计与实现23 65比较复杂 ,需要一定的技术 , 可以由专门的技术人员来承担 ,但是不给他们委派用户的权限 , 这与现实中情况正好一致。1. 2 W eb Serv icesW eb Services是近几年发展起来的新一代 W eb技术 ,是一种可以建立相互操作的分布式应用程序的新平台 ,它可以发布、定位、被 W eb页面中的程序调用。与传统的 W eb 应用方式相比 , W eb Services是松耦合的 ,可灵活实现跨厂商、跨平台、跨语言的应用。W eb Services技术平台中立 ,与开

7、发工具、程序语言无关 , 提供同步与非同步的程序调用 , 可以在广域网内很好地使用 , 互操作性较好 , 可以方便地部署和访问 , 非常适合于企业信息系统集成。W eb Services采用 XML 描述与服务交互需要的接口 ,使用 W SDL 文件进行说明。通过 UDD I进行注册 ,通过 SOAP 协议在 W eb 上提供访问服务 , 并与实现服务的硬件平台、软件平台和编程语言无关。使用者只需通过简单的接口即可调用相关的 W ebServices。2用户权限的设计与实现作者开发的某油田无线数据管理信息系统是一个基于 B / S的信息系统 ,该系统包含有油井信息管理、现场设备管理、油井数据管

8、理等多个功能 ,每个功能模块又包含有若干个子功能项。系统的用户可以有很多级别 ,如局领导级、各采油厂领导级、科研单位工程人员级、普通职员级等。不同的用户被授予不同的系统使用权限 ,并且同一用户在系统运行的不同时段其权限也有可能发生动态变化 (如人员调动 ) 。因此采用了 RBAC 方法 , 对系统访问权限实施动态管理 , 简化和规范授权操作 , 确保对系统资源的正确和安全访问。 下面将从数据库设计、添加角色和 W eb Serv2ices的应用等三方面来阐述具体实现过程。2. 1数据库中表的设计根据该企业对系统的访问控制要求 ,在数据库中设计模块表、功能表和角色表等三个表。( 1)模块表 (M

9、odule Table) 为了管理好用户的权限 ,首先要组织好系统的模块 , 为此设计了一个模块表。该的表结构如表 1。表 1模块表 (M odule Table)表结构字段名类型约束描述moduleNointidentify p rimary key 模块编号moduleNamevarchar ( 20)not null unique模块名称moduleNumintnot null该模块具有的功能数( 2)模块功能表 (Module Func Table) 每个功能模块所具有的子功能称为功能 ,如油井信息管理模块 (属于功能模块的范畴 )包含油井信息新增、油井信息查看、油井信息更新、油井信息

10、删除四种功能 ,模块功能表的表结构如表 2。表 2模块功能表 (M odule Func Table)表结构字段名类型约束描述funcNointidentify p rimary key 功能编号funcNamevarchar ( 20)not null unique功能名称moduleNointnot null unique该功能所属的模块编号( 3)角色表 ( Role Table) 角色表包括角色编号 ,角色名称 , 角色值和角色描述字段。表结构如表 3。表 3角色表 ( Role Table)表结构字段名类型约束描述roleNointidentify p rimary key 角色编号

11、roleNamevarchar ( 20)not null unique角色名称roleValuevarchar (100)not null unique角色值roleDescvarchar (100)角色描述角色表的设计关键在于角色值的定义 ,它是一个由0和1 组成的类似二进制数的字符串。而功能表中的 funcNo (功能编号 )字段表示该功能在角色表的 roleValue (角色值 )字段中的位置 ,如果该2366科学技术与工程6卷位置对应的数值是0,表示该角色无此权限 ,如果值为1 ,则表示该角色拥有此权限。如角色普通职员的角色值为 00 (共 100 位 ) ,并且油井信息新增的功能编

12、号为 1,角色值 00 的第1位为1,所以该普通职员角色拥有油井信息新增的功能;相反 ,该角色值的第 2 位为0 ,而功能编号为 2 的功能为油井信息更新 ,所以该普通职员角色没有油井信息更新的权限。它们的关系可由图 2来表示。图 2角色值与功能编号关系2. 2角色的添加有了上面几个表 ,角色页面的功能模块以及其对应的功能都可以从功能模块表和功能表中读出 ,如图 3所示。图 3角色添加在将新角色普通职员插入数据库时 ,先将角色值的所有位都置为0 ,然后利用字符串函数将角色值中打上勾的功能 ,它相应的功能编号位的值改为1 。例如 ,新添加一个角色名为普通职员的角色 ,它拥有的功能为油井信息新增

13、(功能编号 1 )和油井信息更新 (功能编号 4 ) 两项 , 则角色值应为00 ( 100位 ) ,即角色值中第 1 位和第 4位的值为1,其余为0。2. 3利用 W eb Serv ices实现用户权限访问控制本系统是基于 J2EE 平台上开发的 , 开发工具选用 Bo rland 公司的 JB uilder X, W eb Services部署在中间件服务器 W ebLogic7上。具体实现如下。( 1)按照 J2EE的规范编写具体的业务方法 ,值得注意的是应该在客户端访问与数据持久层之间 加上业务代理 (Business Delegate ) , 通常是 Session2Bean。客户

14、端通过 SessionBean 调用 CM P 中的方法 ,使 CM P用来实现数据库访问 ,执行单纯的数据读取和修改工作 ,而把与客户端的接口与抽象表达业务逻辑留给 SessionBean来完成 ,这样软件的重用性、可维护性和可移植性更强 ,各个 Bean所实现的 功能更加明确; 而且这样做时 CM P 为 LocalEntity2Bean,其性能比客户端直接连接 CM P 时的 Remo2teEntityB ean有很大的提高 ,根程序 ( stub)与骨架程序 ( skeleton)之间网络传输更快 ,可以有效地解决数据库存取的瓶颈问题。( 2)启动 W ebLogic 7 服务 ,将业

15、务方法打包部 署在 W ebLogic上并测试通过。( 3)在 JBuilder X中新建一个 W eb Services,选择W eb Services Configuration。在配置的过程中所使用 的 W eb Services Toolkit选择 W ebLogic,如果 App lica2 tion Module 还没有建立 , 请先建立。最后完成 , JBuilder将会自动创建所需要的文件 ,非常方便开发。( 4)打开 W eb Services Designer,新建一个“Java Services”填写要部署该 W eb Services的名称 , 选择 类 (这里是一个

16、SessionB ean ) 。编译工程并将其部署到 W ebLogic 7 上 ,发布成功后可以在 JB uilder X的控制台上看到相关的发布信息。W eb Services的发布、绑定与调用的接口由 W SDL 文件完成 ,JBuilder也自动地创建该文件 , 当成功发布后可以查看该 W SDL 文件 ,片段说明如下。! 消息声明 - - message name = checkPower part name = intVal xm lns: partns = htp: / /www. w3. org /2001 / XMLSchematpe = partns: int / /mes

17、sage! 操作功能声明 - - portType name = PrivilegeBusinessPort 15期郭艺峰 ,等 : B / S系统的用户权限设计与实现23 67operation name = checkPower input message = tns: checkPower / output message = tns: checkPowerResponse / /operation! 绑定声明 - - binding name = PrivilegeBusinessPortSoapB inding type = tns: Privi2 legeBusinessPort

18、soap: binding style = rpc transport = http: / / schemas. xm lsoap. org/ soap / http / operation name = checkPower soap: operation soapAction = style = rpc / / binding! 服务声明 - - service name = PrivilegeBusiness documentationtodo: add your documentation here/ documentation/ service( 5)由于 JB uilder也可以在

19、编译的时候生成客 户端的调用包 ,所有当在 Servlet或 JSP中调用 W eb Services时只需 import进来 ,然后引用该 W eb Serv2 ices方法 ,代码片段如下:String w sdlU rl = http: / /10. 10. 18. 27: 7001 /web - services/ Privilege2Business? W SDL ;PrivilegeBusiness service = new PrivilegeBusiness_ Imp l (wsdlU rl) ; PrivilegeBusinessPort port = service. ge

20、tPrivilegeBusinessPort ( ) ; boolean result = port. checkPower ( func Id) ; / /调用 W eb Services的方 法 ,如果 result是 true. 说明具有该功能的操作权限 ,如果为 false,则不具有该功能的操作权限。3结束语本文介绍了一种基于角色访问控制和 W ebServices技术的用户权限设计方案 ,并在系统中实现了对用户访问权限的动态管理。系统各页面通过调用一个 W eb Services完成了对用户权限的验证 ,判断登录用户是否具有访问该系统的某功能。本文也较详细地阐述了 B / S系统中基

21、于角色访问控 制的数据库表设计 ,以及 J2EE平台上结合 W ebLog2ic中间件服务器开发 W eb Services的简单操作。这对于将要开发正在开发 B / S系统的开发者将具有较高的参考价值 , 它缩短了软件的开发周期 , 并为以后系统升级或与其它系统融合奠定了基础。参考文献1 Sejong Oh, Seog Park. Task2Role2rased access control model. Infor2 mation System s, 2003; 28 ( 6 ) : 533 5362柴晓路 ,梁宇奇. W eb Services技术、架构和应用. 北京: 电子工业 出版社

22、 , 20033 Ray Lai. J2EE平台 W eb Services, 周斌 , 刘亚萍 , 冯艳玲等译. 北京:电子工业出版社 , 20064莫乐群 ,姚国祥. 基于 J2EE 的 B / S系统的权限控制设计. 计算机 工程 , 2005, 31 ( 10 ) : 84 865周沈刚 ,赵嵩正. 一种基于 RBAC 的 W EB 环境下信息系统权限 控制方法. 计算机应用研究 , 2005, 6: 204 206D esign and Rea liza tion of B / S System User Author ityGUO Yifeng1 , L IU W anjun2(D

23、epartment of Electronics and Information Engineering1 and College of Software Engineering2 , L iaoning Technical University, Huludao ) Abstract The design of authority contro l based on user access contro l and W eb Services is put forward to avoid the p roblem s which are aroused by the user access

24、 control in B / S system. It is possible to imp lem ent dynam ic man2 agem ent of user perm issions by using RBAC and to validate interoperability and easy accessibility offered by W eb Service. It is achieved to use the combination of the two methods in one oilfield m anage system of w ireless data. Key words roleweb ServicesB / S system user authorityRBAC

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!