




已阅读5页,还剩69页未读, 继续免费阅读
(通信与信息系统专业论文)插入式访问控制过滤器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 u d c hilllllllll缈lllllllll|l y i 爸省1 7 7 气7 密级 学校代码 ! q 垒旦z 武多凄理歹大穿 学位论文 题目插塞边闻控剑过遗墨鲍盟究 英文 题目 ! h 曼墨曼墨星竖堡hq p ! 坠g :i 塾堡堡曼墨墨q q 坠! ! q ! ei ! ! 曼! 研究生姓名 湮立盗一 一 姓名垄塾塞职称熬援学位盟 指导教师 4 3 0 0 7 0 申请学位级别亟学科专业名称通焦生焦! 垦丕统 论文提交日期2 q q 墨生垒月论文答辩日期2 q q 昼生三月 学位授予单位盘这理王太堂一学位授予日期 答辩委员会主席蛐起评阅人 阎杜豫 2 0 0 8 年4 月 冀 : 武汉理工大学硕士学位论文 摘要 电子商务、电子政务及网络的普及使得信息安全变得越来越重要,同时, 由于w e b 的广泛性和易用性等原因,基于w e b 的应用成为网络应用中最具有代 表性的一个方面,为w e b 应用系统的提供安全服务至关重要。对于已有的w e b 应用,在系统开发之初未考虑访问控制功能,或正在开发中的应用中需要加入 或完善访问控制功能。加入或完善所需的访问控制功能若通过修改应用系统来 实现则存在诸多问题。 本文针对上述问题研究插入式访问控制过滤器,利用过滤器的插入式特点, 将访问控制功能与w e b 应用分离,使得访问控制过滤器作为一个独立的插件, 为w 曲应用提供服务。 本文首先探讨了w e b 应用在基于不同开发技术或部署在不同环境下可采用 的不同的过滤器机制如i s a p i 、n s a p i 、s e r v l e tf i l t e r 、a o p 等,分析了将过滤 器机制与访问控制结合的特点,提出了基于s e r v l e tf i l t e r 的访问控制过滤器的方 案,通过s e r v l e t 过滤器与访问控制服务的结合,在过滤器中增加用户s e s s i o n 信息内容,方便快捷的实施对每次用户访问请求的授权,为w e b 应用提供透明 的、插入式的服务。本文研究开发了基于i s a p i 的访问控制过滤器系统,着重 对用户的持续访问过程中过滤器实施访问控制功能的技术进行研究,提出了通 过用户s e s s i o n 维护与授权决策独立进程来创建、更新会话信息,利用过滤器实 现c o o k i e 和u r l 重写来传递会话标识,并结合已有的授权决策服务,组建一套 完整的访问控制系统,该方案不仅满足了w e b 应用的需求,同时访问控制服务 是独立的、可扩展的,其代码的可维护性和可复用性都得到了提高。此外,本 文还研究了n s a p i 访问控制过滤器,在借鉴i s a p i 访问控制系统中通过独立进 程实现用户会话信息维护的机制的基础上,结合n s a p i 过滤器的特点,为部署 在n e t s c a p es e r v e r 上的w e b 应用提供插入式访问控制服务。 本文针对w 曲应用,从其应用环境着手,结合过滤器机制在不同平台下的 特点,将过滤器技术和访问控制结合在一起构建访问控制过滤器,为w e b 应用 在无需修改已有应用的同时,提供独立的、插入式的、可扩展的访问控制服务。 关键词:身份认证;访问控制;过滤器;插入式访问控制过滤器;u r l 重写 w e b a p p l i c a t i o n s t h i st h e s i ss t u d i e sp l u g - i na c c e s sc o n t r o lf i l t e r u s e st h ep l u g - i nf e a t u r eo ff i l t e r , s e p a r a t e st h ea c c e s s c o n t r o lf u n c t i o nf r o mw e ba p p l i c a t i o n s ,a n dm a k e sa c c e s s c o n t r o lf i l t e rs u p p l ya l li n d e p e n d e n tp l u g - i ns e r v i c ef o rw e ba p p l i c a t i o n s t h i st h e s i sf i r s t l yd i s c u s s e st h ew e ba p p l i c a t i o n s ,w h i c ha r eb a s e do nd i f f e r e n t d e v e l o p m e n tt e c h n o l o g i e so ra r ed e p l o y e do nd i f f e r e n ts e r v e r s ,c a nu s et h i s f i l t e r m e c h a n i s m ss u c ha si s a p i ,n s a p i 、s e r v l e tf i l t e r ,a o es e c o n d l yi ta n a l y s e st h e c h a r a c t e r i s t i co fc o m b i n i n gt h ef i l t e rm e c h a n i s ma n da c c e s sc o n t r o l ,b r i n g sf o r w a r d s t h ep r o j e c to fa c c e s sc o n t r o lf i l t e rb a s e do ns e r v l e tf i l t e r , a d d st h ec o n t e n to fu s e r s e s s i o ni n f o r m a t i o nt oe x p e d i e n t l yi m p l e m e n ta u t h o r i z a t i o nf o ra n yu s e r sa c c e s s r e q u e s t ,s u p p l i e st r a n s p a r e n ta n dp l u g i n a c c e s sc o n t r o ls e r v i c eb yc o m b i n i n gt h e s e r v l e tf i l t e ra n da c c e s sc o n t r o ls e r v i c e t h e nt h i st h e s i ss t u d i e sa n dd e v e l o p st h e a c c e s sc o n t r o ls y s t e m sb a s e do ni s a p i ,e m p h a s i z e st h es t u d yo ft h et e c h n i q u et h a tt h e f i l t e ri m p l e m e n t sa c c e s sc o n t r o lf u n c t i o ni nt h ep r o c e s so fu s e r sc o n t i n u a n c ea c c e s s r e q u e s t s ,b r i n g sf o r w a r das p e c i a lm e t h o dt h r o u g ht h ei n d e p e n d e n tp r o c e s st oc r e a t e , u p d a t es e s s i o ni n f o r m a t i o n ,u s e sf i l t e rt or e a l i z et r a n s f e r r i n gs e s s i o ni dw i t hc o o k i e a n du r l r e w r i t i n g ,c o m b i n e si n d e p e n d e n ta u t h o r i t ys e r v i c e ,e s t a b l i s h e sai n t e g r a t e d a c c e s sc o n t r o ls y s t e m t h i ss y s t e mn o to n l ym e e t st h en e e do fw e ba p p l i c a t i o n s ,a n d i l a c c e s sc o m o is e i c ei si n d e p e n d e n t a n de x t e n d i b l e ,a n di t sc o d em a i n t a l n a b i l i t y a i l d r e u s a b i l i t yh a sb e e ni m p r o v e dg r e a t l y f u r t h e rm o r e ,t h e t h e s i sa l s o 咖d l e st h ea c c e s s c o n t r o lf i l t e rb a s e do nn s a p i ,i nr e f e r e n c et oi s a p i a c c e s sc o n t r o ls y s t e m st h r o u g h a ni n d e p e n d e n tp r o c e s s t om a i n t e n a n c e u s e rs e s s i o ni n f o r m a t i o n c o m b l n e st n e n s a p ic h a r a c t e r i s t i c sa n ds u p p l i e sa c c e s sc o n t r o l s e r v i c ef o rt h ew e ba p p l l c a t l o n s d e p l o y e do nn e t s c a p e s e r v e r t h i st h e s i ss t a n sa tw e ba p p l i c a t i o n sa n d t h e i r sa p p l i c a t i o ne n v i r o 姗e n t ,u t l l l z e s t h ef i l t e rm e c h a n i s m sc h a r a c t e r i s t i co fd i f f e r e n tp l a t f o r m s ,c o r n b i n e s t h ef l l t e r sa n d a c c e s sc o n 仃o lt oc o n s t r u c ta j li n d e p e n d e n ta n dp l u g i n a c c e s sc o n t r o lf l l t e r s i tc a n s u p p l ya ni n d e p e n d e n t 、p l u g i n 、e x t e n d i b l es e r v i c e f o rw e ba p p l i c a t i o n s 坝t h o u t m o d i f y i n ge x i s t i n ga p p l i c a t i o n s k e yw 。r d s :l d e n t i t y a u t h e n t i c a t i 。n ;a c c e s sc o n t r o l ;f i l t e r ;p l u g 。i n a c c e s sc 。栅l f i l t e r ;u r lr e w r i t i n g 1 1 1 ? o , 即i k r 文 2 2 基于n s a p i 的过滤器9 2 3 基于i s a p i 的过滤器l2 2 4 基于h t t pm o d u l e 模块的过滤器15 2 4 1a s p n e t 过滤器机制l5 2 4 2h t t p m o d u l e 与访问控制的结合1 7 2 5 基于a o p 技术的访问控制过滤器分析1 9 2 5 1a o p 概述l9 2 5 2a o p 技术与访问控制的结合21 2 6 本章小结2 2 第3 章基于s e v l e t 访问控制过滤器的研究2 4 3 1s e r v l e t 访问控制过滤器框架2 4 3 2s e r v l e t 访问控制过滤器关键技术2 6 3 2 1s e r v l e t 会话维持机制2 6 3 2 2s e r v l e t 访问控制过滤器用户信息维护2 7 3 2 3 用户识别与鉴别2 8 3 2 4 访问控制过滤器主要的类设计2 9 3 2 5s e r v l e t 访问控制过滤器工作流程3 2 3 3 本章小结3 3 第4 章基于i s a p i 的访问控制插件的研究3 5 4 1 插入式i s a p i 访问控制过滤器框架3 5 1 2 2 5 5 7 8 - 勺 h 武汉理工大学硕士学位论文 4 2i s a p i 过滤器两种方案及其实现3 7 4 2 1u r l 重写维持会话的i s a p i 过滤器3 8 4 2 2c o o k i e 维持会话的i s a p i 过滤器4 7 4 3 用户s e s s i o n 信息维护与授权决策独立进程4 9 4 4i s a p i 过滤器模块与独立进程模块交互协议51 4 5 本章小结5 3 第5 章基于n s a p i 的访问控制过滤器的研究5 5 5 1n s a p i 访问控制过滤器框架5 5 5 2n s a p i 访问控制过滤器实现技术5 7 5 2 1 请求的认证阶段5 8 5 2 2 请求的访问控制阶段一5 9 5 2 3 部署过滤器5 9 5 - 3 本章小结6 0 第6 章总结与展望6 2 6 1 本文总结6 2 6 2 进一步的研究工作6 3 参考文献6 4 致谢6 7 攻读学位期间发表的论文和参加科研的情况一6 8 k 网络层安全 一病毒扫描 一防火墙 一入侵检测 一v p n 身份证明 一用户名d 令 一公开密钥 一令牌 一生物信息 基于身份决策 一基于角色的权限 一基于属性的权限 一基于a c l 的权限 图1 1w 曲应用安全层次结构 一般而言信息安全探讨的课题包括了:入侵检测、加密、认证、访问控制 以及审核等等怛】。而对于部署在互联网上的各类w e b 应用服务系统,其中的关 键安全功能是用户身份鉴别( a u t h e n t i c a t i o n ) 和访问控制( a c c e s sc o n t r 0 1 ) 。 身份鉴别,即知道对方是谁,确认对方是其声称的人( 或实体) ;而访问控 制,即根据用户的权限决定其是否能够访问某项资源并进行有关操作,这些资 源可以是计算机主机、系统目录、文件,或某项服务功能,如交易、支付等。 访问控制决定了谁能够访问系统,能访问系统的哪些资源以及如何使用这些资 源,正确的访问控制能够阻止未经允许的用户有意或无意地获取不应得到的资 料1 2 j 。可见,用户身份鉴别和访问控制是密切相关的。 w r e b 应用服务系统在提供服务之前,需确认用户或其它主体是经授权的合 法访问者,这样才能保障安全的访问,提供安全的服务。在无需修改w e b 应用 - 一 武汉理工大学硕士学位论文 系统的情况下,能够在w e b 应用中加入所需的访问控制功能的w e b 访问控制过 滤器,即面向应用透明的访问控制过滤器插件,是非常实际应用价值的。 1 1 项目来源 本课题来源于科技部“现代服务业共性服务集成化技术”项目的子项目授 权管理与访问控制系统,为基于w e b 的、面向公众提供服务的应用系统提供可 跨域授权的访问控制功能。 本文研究的是针对开放和互联环境下应用服务对访问控制的需求,对于现 有的已部署的许多w e b 应用系统,可能存在这样的情形:在系统开发之初未考 虑访问控制功能,或者已实施的访问控制功能不完善,目前需要加入或完善访 问控制功能。加入或完善所需的访问控制功能当然可以通过修改应用系统来实 现,但这种做法存在诸多问题。开发一种在无须修改w e b 应用系统的情况下, 能够在w 曲应用中加入所需的访问控制功能的w | e b 访问控制技术,是非常有必 要的【3 1 。 针对上需需求,通过将过滤器机制与访问控制服务结合起来,开发适用于 不同安全技术、为w e b 应用提供插入式、面向应用透明的、可重用、可扩展的 访问控制功能构件。这对于已部署的许多w e b 应用系统而言,有着非常实际的 价值和意义。 1 2 插入式访问控制技术的研究现状和应用背景 访问控制作为一项重要的安全机制,近2 0 年来取得了较大的发展,传统的 访问控制策略主要包括:自主访问控制( d i s c r e t i o n a r y a c c e s sc o n t r o l ,d a c ) 策 略、强制访问控$ 1 j ( m a n d a t o r ya c c e s sc o n t r o l ,m a c ) 策略【4 j 。2 0 世纪9 0 年代, 出现了一种基于角色的访问控$ 1 ( r o l e b a s e da c c e s sc o n t r o l ,r b a c ) ,并得到了 很广泛的应用1 5 1 1 6 1 。 同时,随着软件系统越来越复杂,大型的企业级w e b 应用越来越需要人们 将核心业务与公共业务分离,将应用程序中的商业逻辑同对其提供支持的通用 服务进行分离以形成统一的功能架构1 8 】【9 1 。这样,对于w e b 应用系统的实现访问 控制功能的公共服务模块,在w e b 应用系统的开发过程中应当实现职责分离, 系统的安全访问控制部分被作为整个系统的核心控制部分,单独的被分离出来 2 i l 武汉理工大学硕士学位论文 制定一些整个系统通用的安全准则,程序员在开发时不要过多的考虑程序安全 性的问题只需要遵系统的安全准则即可,而是把主要精力花费在系统的业务功 能上【10 1 。 插入式访问控制技术就是通过将实现访问控制功能的模块作为一插件,既 独立于应用又可为应用系统服务。插件的通过在不修改程序主体的情况下对软 件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自 己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的 “即插即用”软件开剔j 。 平台插件软件结构是将一个待开发的目标软件分为两部分,一部分为程序 的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,可定义为 插件。平台插件软件设计的优点:实现真正意义上的软件组件的“即插即用”i l2 】; 在二进制级上集成软件,减少大量的软件重新编译与发布的麻烦和时间;能够 很好实现软件模块的分工开发,能够大量吸取他人的优点和特长;可较好实现 代码隐藏,保护知识产权。 插件技术在w e b 技术中的应用越来越广泛,m i c r o s o f t 和n e t s c a p e 为了扩充 服务器功能分别开发提供了i s a p i 和n s a p i 作为插件接口,开发人员通过它们 可以修改h n p 请求响应阶段的h 1 v r p 的认证、u r l 映射、访问控制等请求处理 过程,从而增强w e b s e r v e r 的功能,满足特定环境的需要。 i s a p i ( i n t e r n e ts e r v e r a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 作为i i s 服务器一 种可用来替代c g i 的方法,是由微软和p r o c e s s 软件公司联合提出的w e b 服务 器上的a p i 标准【l3 1 。i s a p i 与w e b 服务器结合紧密,功能强大,能够获得大量 的信息,因此利用i s a p i 可以开发出灵活高效的w e b 服务器增强程序。开发人 员可基于i s a p i 开发自定义的认证和访问控制功能部件。 随着a s p n e t 平台的出现,微软将i i s 的i s a p i 接口升级为a s e n e t 的 h t t p m o d u l e 组件,通过直接开发h t q p m o d u l e 模块实现i s a p i 过滤器的功能。 在j 2 e e 平台下也有过滤器机制,通过s e r v l e tf i l t e r 的a p i 提供支持,s e r v l e t 过滤器技术是s e r v l e t 2 3 规范中的最重要功能,过滤器( f i l t e r ) 是一个类似于 s e r v l e t 由容器管理的对象,能以声明的方式插入到h t t p 请求响应过程。其主要 作用是在客户端请求到达被请求的服务之前,或者服务响应离开服务器到达客户 端之前,根据需要对请求或响应进行预处理引。通过f i l t e r 机制可开发出插入式 访问控制过滤器为应用提供透明的访问控制功能服务。 程范 “方 商业 服务 h m e t 出的 体现 a s p e c t 。组合过滤器建立在对象间的本地消息传递机制上,基本思想是通过操纵 对象接收或发出的消息来对贯穿特性进行编码,并将非贯穿特性留给对象实现 1 7 本文研究的插入式访问控制过滤器,是对于现有的已部署的许多w e b 应用 系统,出现这样的情形:在系统开发之初未考虑访问控制功能,或者已实施的 访问控制功能不完善,目前需要加入或完善访问控制功能。加入或完善所需的 访问控制功能当然可以通过修改应用系统来实现,但这种做法存在如下问题: 开发工作量可能很大,动一发而牵全身,可能会涉及到整个系统的修改: 开发成本高; 原系统开发文档、开发商已无法找到,而系统又很复杂; 对于基于不同w e b 技术,如a s p 、a s p n e t , 、j s p s e r v l e t 、c g i 、p h p 等, 开发的应用系统,需要采用响应的不同技术; 需要中止服务,这在许多情况是不允许的。 对于本身不能实现安全或难以修改的应用,采用一种机制即将安全和应用 分离,提供一种理想的安全保护方法,并可以集中管理与安全相关的组件,安 全策略及其实现细节是在应用外部实施的,因此可以修改,而不会影响应用 1 9 1 【2 0 】【2 1 1 。将安全与逻辑分开,从而提高了可维护性,通常拦截的实现只要求配置, 而无需修改代码,另外,通过将与安全相关的处理移动到应用之外,拦截过滤 器提供了应用的性能,在服务器上,没有通过认证和授权的请求将被拒绝,因 此不会占用应用的额外周期【2 2 】【2 3 1 。 对于w e b 应用,访问控制安全服务功能跟同业务功能逻辑往往是紧耦合的, 即在不用修改任何应用代码的前提下很难完成安全性子系统和业务系统的分 离。w e b 拦截过滤器,作为一个可插拔式的过滤器,实现请求、响应的预处理和 后处理,通过拦截过滤器可以使访问控制服务的设计更具模块化,提高代码的可 4 武汉理工大学硕士学位论文 重用性【2 4 l 。 因此,开发一种适合于w e b 技术且在无须修改w e b 应用系统的情况下,能 够在w 曲应用中加入所需的访问控制功能的w e b 访问控制技术,即面向w e b 应用透明的访问控制技术,是很重要的。 1 3 论文研究内容和主要工作 l l 本文研究的是插入式访问控制过滤器机制及其应用,针对已有的w e b 应用, 从其应用环境着手,结合过滤器机制在不同平台下的特点,将过滤器技术与已 有的访问控制服务结合在一起,构建独立的、插入式的访问控制过滤器,为w e b 应用提供透明的、安全的访问环境。对于构建的插入式访问控制系统,主要研 究过滤器在用户持续的会话过程中,无缝嵌入请求过程并实现用户会话信息维 护,方便快捷地实施对用户请求的访问控制。 主要工作有:分析现常用的应用开发平台下的过滤器机制以及新技术下的 过滤器机制,通过将过滤器机制与访问控制结合,提出基于s e r v l e tf i l t e r 的访问 控制过滤器系统方案,可为基于j 2 e e 的w e b 应用提供无缝的出、插入式的、透 明的访问控制服务,然后,在深入研究i s a p i 过滤器机制的特点的基础上,提 出利用独立进程来维持用户的会话s e s s i o n 信息,并解决了在c o o k i e 禁用的情况 下传递会话s e s s i o n l d ,结合独立、可扩展的授权决策服务和身份权限服务,实 现了对i i s 服务器上部署的w e b 应用的用户访问请求的访问控制。本文最后还 针部署在n e t s c a p es e r v e r 上的应用,提出了基于n s a p i 的访问控制过滤器实现 方案。 h 1 4 论文结构 总体上,本文由三大部分组成,包括不同应用环境下的过滤器技术研究、 多种插入式访问控制过滤器的研究和基于i s a p i 的访问控制插件研究及其实现。 下面给出本文的结构和详细研究内容。 第一章:绪论。介绍本文课题来源,对插入式访问控制的发展现状和应用 背景做了简单的介绍,并给出了本文的主要工作和本文研究的目的意义。 第二章:w e b 插入式过滤器基本技术。简单介绍了不同应用环境下的过滤 器机制。2 1 节讲述了j a v a 平台下的过滤器机制s e r v l e tf i l t e r ;2 2 节讲述了对于 h 、 武汉理工大学硕士学位论文 部署在i i s 服务器上的w e b 应用可采用的插入式过滤器接口i s a p i 的特点;2 3 节讲述了对于部署在n e t s c a p es e r v e r 上的w e b 应用可采用的插入式过滤器接口 n s a p i ;2 4 节讲述了a s p n e t 平台下的过滤器机制h t t pm o d u l e 及其与访问控 制的结合特点;2 5 节讲述了另一种插入式软件技术a o p 及其与访问控制的结 合的特点。 第三章:基于s e v l e t 的访问控制过滤器的研究。本章分析指出了s e r v l e t 过滤器与访问控制服务相结合的过程中,关键要解决的问题如识别三种类别的 用户的访问和保存、更新用户会话信息,并针对这些问题给出了具体的解决方 法,提出了s e r v l e t 访问控制过滤器插件系统开发方案,满足了基于j 2 e e 的w e b 应用的需求,为w e b 应用提供透明的、插入式的服务。 第四章:基于i s a p i 的访问控制过滤器的研究,本章提出通过实现一个维 护用户s e s s i o n 信息与授权决策独立进程来创建、更新会话信息和做出授权决策, 并考虑客户端浏览器c o o k i e 是否禁用,在未禁用时,可利用过滤器实现c o o k i e 记录s e s s i o n i d 来传递;即使禁用,也可利用过滤器在请求阶段保存s e s s i o n l d 、 响应阶段重写u r l 来传递s e s s i o n i d ,同时,与结合独立、可扩展的授权决策服 务和身份权限服务相结合,构建出完整的基于i s a p i 的访问控制过滤器系统。 第五章:基于n s a p i 的访问控制过滤器的研究。本章在借鉴i s a p i 访问控 制系统中通过独立进程实现用户会话信息维护的机制的基础上,结合n s a p i 过 滤器的特点,为部署在n e t s c a p es e r v e r 上的w e b 应用提供访问控制服务。 第六章是结束语,对本论文进行了总结,并提出了相关问题进一步研究的 考虑。 6 武汉理工大学硕士学位论文 第2 章w e b 插入式过滤器基本技术 w e b 应用中的过滤器可截取从客户端进来的h 钍p 请求,对请求进行预处理 ( 修改请求头、用户验证、访问控制、u r l 映射等) ,在服务器处理完请求后,过 滤器也可以拦截响应,对响应结果进行后处理( 记录日志、修改响应信息等) k 。 过滤器在用户访问w e b 应用的过程中发挥作用,如图2 1 是过滤器特性图, 它是请求进入服务器的第一道关,在这个关卡里,可以验证客户是否来自可信的 网络;可以验证客户是否已经登录;可以过滤客户的某些不应出现的词汇等等。 图2 - 1 过滤器的特性图 对于一个w e b 应用可部署多个过滤器,这些过滤器组成一个过滤链,每个过 滤器只执行某个特定的操作或者检查,这样请求在达到被访问的目标之前,需要 经过这个过滤链,完成每步的过滤器功能【2 引。如果为某一w e b 应用部署了是实现 认证和访问控制的过滤器,若用户未经验证或无权限访问应用,则过滤器将客 户端的请求拦截并发挥作用,使用户不能访问目标资源。 过滤器作为一个插件机制可为w e b 应用或服务器提供多方面的功能服务。 由于w e b 应用可基于不同的开发技术如a s p 、a s e n e t 、j 2 e e 等,同时可部署 在不同的服务器下如i i s 服务器、j 2 e e 服务器、n e t s c a p es e r v e r 等,本文将针对 w e b 应用基于几种不同开发技术或部署在不同环境下,研究插入式过滤器的特 点。 武汉理工大学硕士学位论文 2 1s e v l e t 过滤器机制 过滤器技术是s e r v l e t 2 3 规范中的最重要功能,过滤器( f i l t e r ) 是一个类似于 s e r v l e t 由容器管理的对象,能以声明的方式插入到h t t p 请求响应过程。其主要 作用是在客户端请求到达被请求的服务之前,或者服务响应离开服务器到达客户 端之前,根据需要对请求或响应进行预处理。通过过滤器可以配置w e b 容器,让它 在h t t p 请求响应过程中调用特定的过滤器对象,从而可自定义在w e b 容器中如 何处理h t t p 请求和响应在物理结构上,过滤器是j 2 e ew e b 应用程序中的应用 程序级的j a v a 代码组件,s e r v l e t 和j s p 只能对特定的u r l 进行处理,而过滤器 却能跨越由w e b 应用程序提供的u r l 子集( 或所有u r l ) 进行工作m “。 过滤器工作流程如图2 2 所示,是客户端发出请求,在请求到达最终的资源 处理器前,将依次通过过滤器链,这个操作过程可称为入站。入站的最终方向是资 源处理器。请求信息在过滤器链中可以被修改,同时可以根据条件使请求不发往 资源处理器。另一方面,资源处理器完成了对资源的处理后,响应信息将逆流,这个 过程可称为出站。响应信息会跟入站的方向相反,经过每一个过滤器,其目标指向 客户端。同样,在出站过程中,用户可以修改响应信息,从而完成一定的任务2 8 1 。 i 静态h t m l s e r v l e tj s p ! 。 一,一。1 l 姗骄服务理资匠 t上 过滤器l 处理管道 t上 - 入站 过滤器2 j l 接收请求发出响应出站 1 1r 图2 2s e r v l e t 过滤器在j 2 e ew e b 应用工作流图 s e r v l e t 过滤器是小型的w e b 组件,它们拦截请求和响应,以便查看、提取 或以某种方式操作正在客户机和服务器之间交换的数据。过滤器提供一种面向 8 武汉理工大学硕士学位论文 对象的模块化机制,用以将公共任务封装到可插入的组件中,这些组件通过一 个配置文件来声明,并动态地处理。 w e b 应用中通常通过过滤器实现支持用户身份认证、访问控制、数据重编 码、加密或压缩、格式转换、记录系统日志等来保证w 曲资源访问的安全性。 这种安全结构就可通过一个过滤链中包含的多个过滤器的多种过滤功能来得以 实现。 一般情况,建立一个过滤器涉及以下几个基本步骤: 建立一个实现f i l t e r 接口的类。这个类包含三个方法,分别是:d o f i l t e r ( ) 方法,处理请求和响应;i n i t o 方法,该方法被容器用来实例化过滤器,它把w e b 容器创建的j a v a x s e r v l e t f i l t e r c o n f i g 对象传递给过滤器;d e s t r o y ( ) 方法,清除过 滤器。 实现i n i t ( f i l t e r c o n f i gc o n f i g ) 方法。此方法只在过滤器第一次初始化时执 行,它可通过f i l t e r c o n f i g 对象提供s e r v l e t 环境和w e b x m l 文件中指派的过滤器 名的访问。 在d o f i l t e r ( s e r v l e t r e q u e s tr e q u e s t ,s e r v l e t r e s p o n s er e s p o n s e ,f i l t e r c h a i n c h a i n ) 方法中实现过滤行为。该方法接收三个参数:s e r v l e t r e q u e s t 、s e r v l e t r e s p o n s e 和f i l t e r c h a i n 对象,其中f i l t e r c h a i n 对象实现过滤器控制权的传递。 在部署描述符文件( w e b x m l ) 中对相应的s e r v l e t 和j s p 页面注册过滤器。 禁用激活器s e r v l e t 。在对资源应用过滤器时,多数服务器使用“激活器 s e r v l e t ”为s e r v l e t 提供一个缺省的u r l 。可通过重新映射w e b 应用中的s e r v l e t 模式,防止用户利用缺省u r l 绕过过滤器设置。 配置及部署s e r v l e t 过滤器:过滤器通过w e b 应用程序中的配置描述符 w e b x m l 文件中的x m l 标签来声明。 标记是一个过滤器定义,它有一个 和 子元素。 子元素定义了一个过滤器的 名字。 指定了由容器载入的实际类。 子元素为过滤器 实例提供初始化参数。 标签用来映射过滤器与s e r v l e t 或u r l 。 部署过滤器只要把过滤器类和其他w e b 组件类包括在一起放进w e b 应用程序结 构中即可【2 9 1 。 2 2 基于n s a p i 的过滤器 n s a p i ( n e t s c a p es e r v e ra p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 是网景服务器应 9 武汉理工大学硕士学位论文 用程序编程接口,它能帮助开发者通过扩展服务器能力来建立更快更复杂的网络 应用程序。n s a p i 是比起c g i 单独使用来更加高效安全。它通常用于开发包含 定制权限或者登录或可以改变服务角度的程序。通过内建的服务器应用功能, n s a p i 用于处理网景企业服务请求应答过程中的h t t p 交换。 n e t s c a p es e r v e r 接收请求后,请求答复处理通常由六个连续的步骤构 成,如图2 3 所示,由以下六个不同阶段处理请求1 3 0 j : 认证事务阶段a u t h t r a n s ( a u t h o r i z a t i o nt r a n s l a t i o n ) :对请求进行身份验证( 如 姓名和密码) 。 o u r l 转化阶段n a m e t r a n s ( n a m et r a n s l a t i o n ) :将逻辑u r i ( 统一资源标识) 转换为本地文件系统路径。 路径检查阶段p a t h c h e c k ( p a t h ec h e c k i n g ) :检验本地文件系统路径的有效性 和请求用户的权限。 判断对象类型o b j e c t t y p e ( o b j e c tt y p i n g ) :确定被请求资源的m i m e ( m u l t i p u r p o s ei n t e m e tm a i le n c o d i n g ) 类型( 如t e x t h t m l ,i m a g e g i f 等) 。 执行服务阶段s e r v i c e ( s e r v i c e ) :通过发送状态行、标题和实体,产生s e r v e r 响应消息,然后关闭连接。 修改日志a d d l o g ( a d d i n gl o ge n t r i e s ) 在日志文件添加一条记录。 c l i e n t 线程处理请求时产生的事件 j l 请 响 求 应 一一一一一一一一一 h 1 v r p 进程 认证 l,1 名字转化l上 声 1r , n e t s c a p e 叫h t t p _ ( i 路径检查i s e r v e r 、 服务 h 对象类型 j h 1 v r p 进程 j r 图2 3 n e t s c a p es e r v e r 请求处理过程 网景服务器的服务器应用程序s a f ( s e r v e ra p p l i c a t i o nf u n c t i o n s ) 使用n s a p i 编写的,s e r v e r 自身带有一套默认的s a f s ,可通过n s a p i 编写自己所需的s a f s 1 0 武汉理工大学硕士学位论文 以便扩展s e r v e r 功能,让服务器能够把对请求的处理分成若干小的步骤来完成服 务器调用这些函数处理客户端发送来的请求。 以上请求处理中的每一步都包含着多个操作,由服务器应用函数( s a f ) 执 行。服务器内带有多种s a f s ,这些s a f s 实现服务器的功能和它的高级特性。每 一个s a f 都有自己的设置,并且它还有权访问请求的相关信息和由以前s a f s 创 建和修改过的服务器变量,s a f 依靠这些信息执行自己的操作。s a f 还可以根据 目前的请求和自身范围内的目的检查、修改或创建服务器变量。 每一个s a f 有返回代码以便告诉服务器是否执行成功。服务器依据这些返 回代码可以决定是跳到下一步、执行当前一步的下一个s a f 还是取消处理。 通常,所有这些步骤是按顺序完成的,产生的答复发送给客户( 在s e r v i c e 这 一步) ,然后在日志文件中增
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邮政快递运输合同服务质量提升与行业规范执行标准
- 山场租赁租赁合同范本:山地旅游项目合作框架协议
- 2025年的居民购房合同范本
- 历史研究在青少年教育中的应用与效果评估-洞察及研究
- 2025年新款个人标准借款合同
- 植物油脱酸工艺自动化-洞察及研究
- 农田土壤侵蚀风险评估-洞察及研究
- 2025保健品销售代理合同样本
- 2025-2030存量商业地产转型长租公寓的机遇挑战报告
- 2025-2030复合调味料微生物控制技术升级与保质期延长方案
- 两相流数值模拟(第9讲)-VOF方法及其应用04课件
- 华北理工采矿学课件14采矿方法分类
- 人教鄂教版六年级科学上册知识点总结
- 公司工程数量管理办法
- 宇宙中的地球 1.3地球的历史(第1课时)课件
- 支部委员会委员选票一
- 锅炉安装改造维修施工工艺标准
- 如何书写个案护理报告
- 一线医务人员登记表(模板)
- 战略销售蓝表中文版
- 2021年四年级数学上册二两三位数除以两位数整理与练习课件苏教版
评论
0/150
提交评论