(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf_第1页
(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf_第2页
(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf_第3页
(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf_第4页
(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)基于xacml的mvc+web访问控制框架的研究——webacframe.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

k 舟t 业人。+ 倚! l 学伯论卫 摘要 随着i n t e r n e t 的广泛普及以及讣算机刚络技术的飞速发展,现在:越来越多的商业 业务是通过i n t e r n e t 应用甲台求实现的。为了适应发展需要,越水越多的岔i k 信息系 统和电子商务系统使用w e b 技术进行应用j r 发。 而w e b 系统发展到今天已经变得很复杂,涉及到的知识、内容、问题越来越多。 因此,开发高度可重用性的w e b 应用框架和业务组件并使用m v c 设计模式可以降低 应用业务组件和应用框架之间的耦合,提高系统框架的可重用性和可扩展性,简化w e b 应用的开发流程。 x a c m l 是o a s i s 制定的。种l l r 扩展的访问控制标记语言规范,用丁描述应用系统的 访问控制策略以及访问控制决策请求u l ;j 应信息。x a c m i 。是肇丁x m i 的舰范,闪此,x a c m l 具备可扩展性。x a c m l 支持广泛的数据类型、函数、规则,支持参数化的策略描述和多 样化的策略组合,可以描述分布式系统的访问丰孥制规则,具有很强的访问控制策略捕述 能力。除此之外,x a c m i 。也给出了,一个标准化的访问控制决策模型。基于这i 特点,采 用x a c m l 标准进行访问控制逻辑j 1 :发,1 1 _ 使应用具有通用惟、灵活- n :、口j 扩展性以及 标准性的优点。 基于以上考虑,本论文在研究当静基于m v c 框架的基础上,针对控制逻辑和业务 逻辑是w e b 应用逻辑中不可缺少的组成部分,吐控制逻辑平l b l k 务逻辑足相对独立的部 分的特点,以及目前多数w e b 应用及框架都将其混合在起进行处理的状况,提出的 一种基于m v c 模式的框架。该把架强制将j 衄硐的业务逻辑拧制i 访逻辑控制分丌, 降低了应用逻辑祸合度,并且该框架采用x a c m l 标准技术实现访问控制逻辑处理流程, 使w e b 应用访问控制逻辑具有标准性等特点。 关键词:设计模式、村乇架、m v c 、w e b 、访问拧制、x a c m l ab s t r a c t w i t ht h ew i d ep o p u l a r i z a t i o no ft h ei n t e r n e ta n dt h er a p i dd e v e l o p m e n to fc o m p u t e r n e t w o r kt e c h n o l o g y n o w m o r ea n dm o r eb u s i n e s st h r o u g ht h ei n t e r n e tb u s i n e s sa p p l i c a t i o n p l a t f o r mt oa c h i e v e t om e e tt h en e e d so fa ni n c r e a s i n gn u m b e ro fe n t e r p r i s ei n f o m a a t i o n s y s t e m sa n dt h eu s eo fw e bt e c h n o l o g ya p p l i c a t i o na n dd e v e l o p m e n to fe c o m m e r c e s y s t e m s w e bd e v e l o p m e n to ft h es y s t e ma n dh a v eb e c o m ev e r yc o m p l i c a t e d ,i n v o l v i n g k n o w l e d g e ,m o r ea n dm o r ep r o b l e m s t h e r e f o r e ,t h ed e v e l o p m e n to fh i g h l y r e u s a b l e c o m p o n e n t so ft h ew e ba p p l i c a t i o nf r a m e w o r ka n do p e r a t i o n a lu s eo fm v cd e s i g np a t t e m , a p p l i c a t i o n sc a nr e d u c et h ec o u p l i n gb e t w e e nb u s i n e s su n i t sa n da p p l i c a t i o nf r a m e w o r k ,t h e f r a m e w o r kc a ni m p r o v er e u s a b i l i t ya n de x t e n s i b i l i t y s i m p l i f yw e ba p p l i c a t i o nd e v e l o p m e n t p r o c e s s x a c m la n lo a s i s sf o r m u l a t eas t a n d a r d i z e de x t e n s i b l ea c c e s sc o n t r o lm a r k u p l a n g u a g e a p p l i c a t i o na c c e s sc o n t r o ls y s t e mu s e dt od e s c r i b et h ed e c i s i o n m a k i n ga n d a c c e s sc o n t r o lr e q u e s t r e s p o n s ei n f o r m a t i o n t h eo b i e c t i o no fx a c m li sb a s e do nt h e s t a n d a r d so fx m l ,x a c m lh a v es c a l a b i l i t y x a c m ls u p p o r taw i d er a n g eo fd a t at y p e s , f u n c t i o n s ,r u l e s ,a n ds u p p o r tp a r a m e t e r st od e s c r i b et h es t r a t e g yo fp o r t f o l i od i v e r s i f i c a t i o n s t r a t e g y d i s t r i b u t e da c c e s sc o n t r o ls y s t e mr u l e sc a nb ed e s c r i b e d h a sas t r o n ga b i l i t yt o d e s c r i b ea c c e s sc o n t r o ls t r a t e g y i na d d i t i o n ,x a c m lh a v eg i v e nas t a n d a r d i z e da c c e s s c o n t r o lm o d e l b a s e do nt h e s ec h a r a c t e r i s t i c s a c c e s sc o n t r o ll o g i cf o rt h ed e v e l o p m e n to f x a c m ls t a n d a r d ,t h ea p p l i c a t i o no fc o m m o n f l e x i b i l i t y s t a n d a r d sa n dt h ea d v a n t a g e sa n d s c a l a b i l i t y b a s e do nt h ea b o v ec o n s i d e r a t i o n s ,t h ep r e s e n ts t u d yp a p e r so nt h eb a s i so fm v c , c o n t r o ll o g i ca n db u s i n e s sl o g i ci sa ni n d i s p e n s a b l ec o m p o n e n to f w e ba p p l i c a t i o nl o g i c ,a l s o c o n t r o ll o g i ca n dt h eb u s i n e s sl o g i ci sr e l a t i v e l yi n d e p e n d e n to ft h ec h a r a c t e r i s t i c s ,t h e m a j o r i t yo f w e ba p p l i c a t i o na n df r a m e w o r kw i l lb em i x e dt o g e t h e rt od e a lw i t ht h es i t u a t i o n b a s e do nt h ef r a m e w o r ko ft h em v cm o d e l t h ef r a m e w o r kw i l lb e a p p l i e dt o t h e m a n d a t o r y a c c e s sc o n t r o ll o g i cc o n t r o lb u s i n e s s l o g i c c o n t r o la n ds e p a r a t i o no ft h e a p p l i c a t i o nl o g i ct or e d u c ec o u p l i n g ,t h ef r a m e w o r ka n dt h el o g i c a la c c e s sc o n t r o lu s e s x a c m lt e c h n o l o g ys t a n d a r dt r e a t m e n tp r o c e s s w e bl o g i c a la c c e s sc o n t r o li ss t a n d a r ds o t h a ta p p l i c a t i o n ss u c hc h a r a c t e r i s t i c s k e yw o r d s :d e s i g nm o d e l ,f r a m e w o r k m v c a c c e s sc o n t r o l k 奋1 业人学坳i 学f i 论义 原创性声明 本人郑晕声明:所呈交的学位论文,址本人以:旨帅的指导卜,独莎进行研究一f 作 所取得的成果。除文中已经注明引用的内容外,奉论文f i 含任何其他个人或集体已经 发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均己在文中 以明确方式标明。本声明的法律结果幽本人承于甘。 论文作者繇备稻疋 慨岬年;月刃r 第一章引占 1 1 论文选题的背景 2 0 世纪6 0 年代,“软件危机”爆发后,人们7 r 始节视埘软件j :稃的研究。这监研 究成果为提商软件 三产质攀和软竹乍j “效率提彩ir 夫最督l 、具管极高指导意义和参考 价值的理论基础。但随着软件系统规模越来越大、越来越复杂,人们汴意到,仅是对 软件结构和算法的设计已不能达到令人满意的效果,1 个好的软件体系构架昆得更为 重要。在这种背景下,对软件体系构架的研究如雨后春笋般 现了,并在实际应用中 得到了认可。 软件框架是项目软件j i :发过程中提取特定领域软件的j t 巾牛部分形成的体系结构, 不同领域的软件项目有着小一的框架类型。框架的作用在于:山于提取了特定领域软 件的共性部分,因此在此领域内新项目的丌发过程中代码不需要从头编写,只需要在 框架的基础上进行一些丌发和调整便可满足要求;对于丌发过程而言,这样做会提高 软件的质量,降低成本,缩短丌发时问,使丌发越做越轻松,效益越做越好,形成一 种良性循环。 随着基于万维网的应用程序服务器的发展及其相关的应用软件的膨胀,支持这些 技术的丌发框架也随着蓬勃发展。 m v c ( m o d e l v i e w c o n t r o l le r ) 作为一种 1i h 广泛流行的w e b 麻j 日丌发软件设计 模式。几乎所有现代的网络丌发机架郁道佩了横即一视图一拎制f v c ) 设计横式一一商 业逻辑和描述被分丌,由一个逻辑流挎制器术协调来f | 筝;= 户端的访问和服务器上将采 取的行动。这种设计模式已成为了网络应用系统厅发过程中采用的事实。i 二的杯准。 1 2 论文研究的目的和意义 基于m v c 模式实现的w e b 戍川桁架遵循将、i p 务逻牟 俑j 页向分7 r 的原则,使得应用 程序的丌发比以往c s 结构的应用丌发结构更加 占晰,维j :l 、更加容易。当前,在w e b 应用开发领域中已经出观了许多基rm v c 的w e b 应用丌发枇架,如:吼r u t s 、w e b w o r k 等。事实证明,这些框架在基于w e b 的应用系统玎发过程中,起着苇耍的作用。在基 于w e b 的应用系统丌发过程中采用m v c 技术是形确的和呵行的。 i n t e r n e t i n t r a n e t 的应用系统足多用户参j 的复杂的删络应用系统,不同的用 户具有不同的工作角色和权限级剔,抉取信息、处瑚f j 息的需求和职权也不同,这就 需要针对用户提出一种访问控制管理方法。以丽,多数w e b 应用系统郁是采用访问控 制列表的方法进行管理,并将控制逻辑i j 、f k 务逻辑混合在一起进行处理,这样做的结 果是使应用系统中访问控制即权限管理内部化、号- 1 艺,晌目赡啊丰亭制逻辑修改时, 业务逻辑部分也需要进i 亍修改,给应用维护带米例难。存实际心用q ,应用的处理流 【,冉t 抄、军帕i _ , 沦卫 程就是:如果一个f f j 户有权限访问,那么就执行、k 务逻辑;反之,如果没仃权限访问 那么就应该拒绝执行业务逻辑。其处删流利图可用f 降l 表示: 煳l l 麻川处钾流w i 划 因此,从应用逻辑的角度来况,可以将访问拧和j 逻辑和、i k 务逻辑分丌,作为相对 独立的部分存在。 笔者认为,应用逻辑包含两个部分应用、世务逻辑和应j 钉访问控制逻辑两部分, 将这两部分划分丌来可以使应用丌发更加容易,结构更加清晰。当f j 仃,基于m v c 模式 实现的w e b 应用框架丌发的应用程序在实现j 二很难将这两部分划分丌束,使应用中的 这两部分逻辑耦合度过紧,不利于应用程序的维护。 因此,丌发一种基于m v c 模式的w e b 应用框架,将现有的框架中实现业务逻辑中 的访问控制逻辑部分与实际、i p 务逻辑部分划分丌来,这将更有利于w e b 应用程序的丌 发和部署,势必为w e b 应用程序的丌发硐i 维护带来更多的方便和更大的灵活性。 x a c m l ( e x t e n s i b l ea c c e s sc o n t r o m a r k u pl a n g u a g e ) 足一项由o a s i s 指导制 定的x m l 规范,其定义了一种通用的、 j 于保护资源的策略沿;i 和一。种访问决策语言, 该语言是一种提供了能够表现权限认证策略的统。语。乳利用该语玉可以存各种授权 管理产品之间实现互联。由于咳语言具有可以适j 觚人规模集成环境的灵活悄拜日功能, 并且目前已经有若干杯准小组( 如:s u n 实验窀i n t e r n e t 安令研究小组等) 致力于丌 发扩展和能力描述来使得x a c l 可以。i 其他诸奠ns a i ,和l b a p 之类的标准防调i = 作, 这使得x a c m l 可以得到更广泛的应用,因此将成为灭j i 新一代授权管理产品的名符其 实的标准。 x a c m i 作为一种表示访问拧制策略的语南,可以有效的表达得种语法策略,而且它 本身是以x m l 形式存在的,因此,具有极大的灵洒件。x a c i i ,作为一种标准,提出了使 用x a c m l 技术的通用流程模犁,使用x a c m i 。技术实现访问摔制管理将儿仃较强的通用 性和极大的可扩展性。 综上,使用x a c m l 这一杯准技术丌发一个基于m v c 的访问控制桁架,刁i 仅可以简 化w e b 应用的丌发过程,提高可复用性,节省丌发成本,降低应用逻辑问祸合度,而 且使应用访问控制具有通用性,同时也呵以实现i 旧系统之帕j 的瓦通访1 u 】 卒制( 处理 过程统一,增加策略规则,甚至可以使各种规则策略放存一起,通过x | 分域管理,来 实现访问控制的互通) 。 本框架旨在阐述框架的体系结构和实现,以及对标准的x a c f i 规范的支持,因此, 在本论文中没有对x a c m i 规范的语法规则及评测觇则作详细说明。若有需要,可以参 k 4tq pj 、学坝i 亨似| 上 见参考文献部分。 1 3 国内外有关研究现状 基于m v c 模式实现的w e b 应用桁架使应用丌发结构_ 吏肌1 清晰、维护更加择易。因 此,当前在w e b 应用门:发领域中现了许多肇j :v c 的w ( ,bj 、z 1 】j 下发枇架,如:s t r u t s 、 w e b w o r k 等。 尽管基于m v c 的w e b 应用框架己达到窄前繁荣的阶段,f f 现有的w e b 麻用框架仍 存在一些弊端: 1 应用逻辑划分、丌发、维护团难 在通常的应用系统中,所有的应用逻辑部包括权限控制和真一意义上q k 务逻辑两 部分,这罩所说的“真i f 意义”指的足针对俘储改备的通用操作增加、删除、修 改、查询等而实现的业务逻辑,不用去理会是超级还是普通管理员具体都能看到多大 范围内的数据这些权限逻辑。由于现存的框架在最初定位时已经摹本 :将应用逻辑完 全等同于业务逻辑,因此往往使现在的应用丌发逻辑巾权限控制和真m 意义卜业务逻 辑混合在一起,导致一h 权限逻辑发, i 变化,例如:一个if 语句发! e 改变,就涉及到 相关业务逻辑的改变,从而给应用逻辑的维护带来洲难,而h 这种混合的逻辑也给丌 发带来了复杂性。 2 同一应用领域内权限控制即访问拧制策略不能重用、共享 每个行业、每个领域部有一定的领域应片j 标准,冈此,其访问控制策略也具有一 定的相似性,如果采用,种标准进行访问拎制策略的袤刀i ,就 丁以使各领域肉的访问 控制策略重用。现有的w e b 应用框架不具有这种功能,而足每个w e b 应用5 1 :发都实现 各自的、内在的、专用的访问控制逻辑及策略表示方法,这使访j 口j 拧制策略的重用和 共享不可行。 3 同一领域乃至不同锨域的麻用软仆f j 通阽i 难 从上述描述的问题中,我们不雅发现,mj 。再w e b 应用访控制实土见的专用性使 得软件之日j 的访问控制交瓦变得困难。如果要实现交旺,必须强制按照某个软件的访 问定义格式实现通讯请求。试想,如果有十个,甚乎“个软件之1 叫实现互通,修改量 将是巨大的,事实上是不可行的。 4 可扩展空问不足 目前的w e b 应用框架挺供的是j 年十将应j 1 1 逻辑刚、【k 务逻船 和访问控制逻辑混合在 一起的实现方式,这种开发方式不利于目前发展比较缓慢的访问拧制技术的发展。我 们都知道,一个事物发展依赖于一定的环境条件,而门新的j 1 :发模式并没有给这种技 术带来发展的空间。 x a c m l 是表示可扩展的访问控制标记语吉,它是项m ( 】a s i sf o r f f a n jz a t j o nf o r t h ea d v a n c e m e n to fs t r u c t u r e di n f o r m a t j o ns t a n d a r d s ) 指导制定的x l 规范,用 锌l 廿j 、; n ,位沦上 于表示控制资源访问的规则和策略。该规范采用x m i 。语苫柬表乐通过【r i t e f e ir j t 进行信 息访问时的控制策略。 基于权限或访问控制列表( a c i ,) 的访州拧制已f f - 广泛地被人仃j 接受。f f 足,这峰 机制缺少表示复杂策略的能力。洲此,访问挎制策略通常会嵌入应川w 序代刖中。这 使得更改策略变得很闲雄。 x a c m l 能够实际地使用任何可用的信息来决定是否许”r 对一个资源的访问,也可以 关联附加的动作、被调用的契约和决定等。 x a c m l 可以根据资源的属。r 牛做决定,包括资源的内容或环境桑,如门期、时间 或位置。它也会考虑到与请求关联的各力。的特性,比如角色或组成员关系。 因此采用x a c m l 标准实现访问拧制功能可以解决访问控制号一化等问题。目前许 多大公司都已经开始支持x a c m l 标准( 如:s u n 实验拳t n t e r n e t 安伞研究小组、o r a c l e 公司等) 。 第二章w e b a c f r a m e 体系结构 2 1w e b a c f r a m p 定义 w e b a c f r a m e ( w e ba c c e s sc o n t r o lf r a m e ) 是一个支持w e bj 、v j f ? 序j f 发的栝架, 是一个用作w e b 应用j r 发辟硎 的类库。神二j r 发w e b 心f j 耵j 过w 巾,采f f jw e b a c f r a m e 可以充分利用稳定、成熟的架构设计模式平简化的几发f 饯略的优势。 w e b a c f r a m e 强制w e b 应用基于模型一视图一控制器( m v c ) 模式,w e b a c f r a m e 还强 制将w e b 应用中的访问拧制逻辑与q 2 务逻辑完全分离,达到了松耦合的目的。并且 w e b a c f r a m e 使w e b 应用在实现访问控制逻辑时采用x a c i 。标准。 2 2w e b a c f r a m e 的体系结构 一个交互性软件中,最善变的部分就是用户界面( v i e w ) ,闪为它是用户直接与 应用打交道的地方。而在高度祸合的应用中,哪, j 只是进行最小的改动都很复杂,并 容易引入错误。而且,如果用户群体对外删界i f | i 的需求慰著1 ;嗣,那么就不得不维护 同一应用的若干不同版本。这就增加了另维度的复杂。r 1 :,常常导致应用的不同版本 之阳j 失去同步。 而m v c 模式为此类问题提供了灵活的解决方案。m v c 模式是一种常用的设计模式, 它把交互系统的组成分解成模型、视图、拧制j 科t 部件。使模型、显示和控制进行了 分离,可以使得应用更加方便地实现对多利,表现模的支持,n 日叫降低表现形式修改 对整体系统的影晌。 目前已经出现了很多基于m v c 模型的w e b 框架,例如s t r u t s 、w e b w o r k 等。从应 用的角度考虑,我们可以把应用逻辑划分为业务逻辑和访问拧制逻辑两部分,而当访 问逻辑中的主体发生变化时,可能操作的、! k 务逻辑就不同。而采j t j 现存的m v ( :模趔w e b 框架进行应用丌发时很容易将这种情况的处列耦合作起。例如一个人事系统,当超 级管理员登录系统时,他可以修改所有的人员f 。j 息;而某个部门符珲员髓求时,则他 应该只能修改此部门内的人员信息。对于这种情况,采用现存的m v c 模型w e b 框架进 行应用丌发就经常出现i f ( 超级管理员) 业务逻辑l :jf ( 部门1 管理员) 业务逻辑2 : 这样的语句。那么,如果当系统中的角色增加或减少时我们小得不去修改应用程序 的代码。 基于上述情况的考虑,w e h a c f r a m e 从总体设计上仍类似于其他常_ 的m v c 框架, 但w e b a c f r a m e 增加了独立的访问控制逻辑处理,这部分逻辑处理是可以自动配置的。 也就是说,如果没有配置访问控制逻辑处理,那么w e b a c f r a m e j 现存m v cw e b 框架一 样:而当配置了访问控制逻辑处理,那么w e b a c f f a i l l e 框架强制应用将访问控制逻辑和 业务逻辑分开,而且访问控制逻辑采用标准的x a ( v l l ,策略规范破存放任存储改备中, 在这种情况下,访问控制逻辑与应用完伞分离,这样,就降低访i 、口 挎制逻辑修改对整 k 备1q i ,j 、17 f ,疋上 体系统的影响。 出于w e h a c f r a m e 针对的足访问控制逻辑处胛的改进,即将廊用普遍存在的访问控 制逻辑处理作为一个相对独的部分,可选抒的纳入v cw r 、h 桫架,以简化丌发流程, 并提供更加灵活的访问控制。l n 此,本论文i 嗄h 跑拧删擀邝分刈坊m f i - * j js e 辑器的 调用和访问控制逻辑部分的处理方式。而模犁和视罔部分本论文将不做介绍,这部分 内容可以参见相关资料。下图为w e b a c f r a m e 体系结构图: 圈2 iw e b a c f r a m e 体系结构 w e b a c f r a m e 工作流程可以用下面的交可作用图柬进行描述 6 【:奋i 业人芋f f j , f 了他沦艾 固国t巨宰雪固 i i ,- 一 。 o lp 川单“m 寸譬疆;“z ii l j i ,h i 小扫屯1 0 :卜 - 一一,爿w 。,: ijl 一 1 0bj p :i p i 。+ 。j :。,。j f il 。5 p 。叫 i _ _ 一:i|! 魄i i l m l ,“,坦一i 牟j n :i 1 r t f _ 1 l ti l i - - - - - - 4 0 + - 叫 i i l li :l f1 1 叫,i 8 ! p t t ;) ii 1 i lt 图2 - 2w e b a c f r a m e 交l i + 作川蚓 流程说明: ( 1 )分发器接收客户端浏览器请求。 ( 2 ) 分发器获取w e b a c f r a m e 麻用是甭配胃配胃访问手宁制功能信息。 ( 3 )若w e b a c f r a m e 应用没有配霄访问拧制处理器功能,则进行相应、i k 务处理。 首先分发器把接收到的请求业务数掘保存到数掘b e a n 中,然后相关逻辑b e a n 进行数 据处理,s e r v l e t 根据逻辑b e a n 的处珲结果,调用响应的1 s p 。,j s p7 卜成h t m l 页面, 并返回给客户端。 ( 4 ) 若w e b a c f r a m ej 衄用配胃访问撺制处王甲器上j 能,则分发器 f ! 接收到的请求主 体数据传给访问控制器进行相应权限的验证处理,并将最终结果( 允许或拒绝) 返回 给分发处理器。 ( 5 )若拒绝,分发器调用响应的1 s p 。j s p ,卜成i i f i 页面,并将访问拒绝信息 返回给客户端。 ( 6 )若允许,则进行棚应业务处婵,一j ( 3 ) 巾的、i p 务处理过程。 其中,访问控制器负责处理w e b 应用中普遍仃在的访问拧刨问题,它采用了标准 的x a c m l 技术,通过判定灵活町配的访问拧制策略,产,卜简尊的允许或拒绝结果后返 回给分发器,然后分发器通过此结果进行相应的处珲。w e b a c f r a m e 的访问控制逻辑是 k 备i k 学伸i ? ,论卫 采用了标准的x a c m i 。所规范的摔制模犁,其访问拧制逻辑的i 。作原胛图如f 图2 - 3 访问控制逻辑i 作原理 流程说明: ( 1 ) 策略决策点( p d p ) 从策略库巾绩取访问拧制策略。 ( 2 ) 向策略执行点( p e p ) 发送个访问拧制请求。 ( 3 ) 策略执行点( p e p ) 接收到请求后将请求信息转换成x a c m i ,格式的请求信息 并发送给策略决策点( p d p ) 。 ( 4 ) 策略决策点( p d p ) 向权限信息库商瑚卜体桐灭信息。 ( 5 ) 策略决策点( p d p ) 评估所有负责此请求的访问控制策略,并将访问控制结 果及其相关的其它支持性服务信息返叫给策略执行点( p e p ) 。 ( 6 ) 策略执行点( p e p ) 获得策略决策j _ ( p d ,) 返网的u l ;, j l q , l 信息后,执行相应 的其它支持性服务。 ( 7 ) 策略执行点( p e p ) 将访问拧制结粜f 奇息返i 一给请求分发器。 业务控制器负责处理与请求相关的业务和史新相j 世的模型数捌的处理操作,然后 将处理结果返回给分发器,然后分发器将生成视图响应发送给用户。在w e b a c f r a m e 中, 业务逻辑和一般的w e bm v c 框架的处i 罩方式接本棚似,其1 作原j q ,劁如f : 8 k 存f , l kj 、; i 1 1i 。1 7 - f i 论上 剖2 4 业务逻辑作原理 流程说明: ( 1 ) 向业务控制器发送业务请求。 ( 2 ) 业务控制器根掘业务配霄文什得剑与请求相对应的、j k 务处理对象。 ( 3 ) 具体业务处理对象处理请求的具体t j 作,并根掘处理结果返回相应的业务 流转对象。 ( 4 ) 根掘具体业务流转信息将页而i q 戍信息返叫给客厂,端, k ,i 业,、坩 1 ;f ? ,诊上 第三章w e b a c f r a m e 关键技术 3 1 设计模式与框架 3 1 1 设计模式 面向对象技术的出现和应用人大提高了软件的重用性和软件的质量。面向对象的 编程也比以往的各种编程模式要简单和高效,但是而向对象的设计方法耍比以往的设 计方法要复杂得多。个良好的设计应该既具自。列问题的针对绺,也充分考虑到对将 来问题和需求有足够的适用性。在过去的 。几,寸_ t l t ,人1 f j 存对面向对象技术的研究探 索和实际应用中针对某些问题创造了一些良好的解决乃。案,即所谓的面向对象的设计 模式。面向对象技术的目的之一就是提高软件的晕用悄二,而对设计模式、设计方案的 重用则从更深的层次上体现了重用的意义和本质。 人们对设计模式有很多定义,其中被引用最多的是c h r is t o p h e ra l e x a n d e r 的没 计模式的定义:每一个设计模式是一个三方的规则,它表达了一个上下文环境 ( c o n t e x t ) ,一个问题和一个解决方案”1 。设计模式一般有如下几个摹本要素:模式名 称,问题,目的,解决方案,效果,样例代码平秆1 关设计模式。 设计模式的分类有很多种,可以根荆其h 的分为创建型( c r e a t i e n a l ) 、结构型 ( s t r u c t u r a l ) 和行为型( b e h a v i o r a l ) i 种。创建掣模式t 要足用来创建对象,结 构型模式主要是处理类或对象的组合,行为犁模弋则 要用米描述对炎或对象怎样交 互和怎样分配职责。也可以根掘范嘲将设计模式分为类模式和对象模式,类模式处理 类和子类之问的关系,这些关系通过绺承建葱,a 编译时刻虢被确定卜| 束,足属r 静 态的;对象模式是处理埘象| 日j 的关系,这氆天系行:运行时刎变化,史具动态性。 模式的特点:是通过经验获取的,以某种结构化的格式 写卜来,避免了遇到相 同的问题重头设计,存在于不同的抽象层,在小断完善的、d _ 蕈用的人工产物。 3 3 2 框架 “框架”这个概念已经不再足一个新鲜的名m ,臼随前计算机软件技术的发展, 在多层的软件丌发项目中,可重片j 、易扩展的,而且是经过起蚵测试的软件组件,越 来越为人们所青睐。这意味着人们可以将充裕的时删用束分析、构建应用的业务逻辑, 而非繁杂的代码工程。于是人们将相同类剐问题的解决途径进行扣l 象,抽耿成一个应 用框架。 框架是构成一类特定软件可复用设计的编丰| i 瓦胁作的类,应用框架是面向应用 领域中应用系统的骨架,但它并不提供完移的应用软件系统的全部。应用框架定义了 系统的整体结构模型、抽象类和公共对象的分类划分,各个j j 能部件的丰耍功能及特 0 性,类和对象之问的协作机制以及整个系统的运行拧制流秤,应用枷架j 应用组件的 调用模式,所以应用设计丌发人员4 i 需篮,鲥脚川伊裟的t 体细够,j i ;0 j 要集中精力 定义、l k 务本身的特定细节。 框架的作用在于:【| jf 提取了特定领域软件的j t r :部分,川此在此领域内新项目 的丌发过稃中代码不需要从头编7 ;,只需要行:框架的皋础i :进行止匕厂| 发和调整便可 满足要求:对于丌发过程以言,这样做会提高软件的质晕,降低成本,缩觚厅发时间, 使开发越做越轻松,效益越做越好,形成种良十牛循环。 框架不是现成可用的应用系统。是一个半成品,需要后来的丌发人员进行二次开 发,实现具体功能的应用系统。框架不是“平台”。甲台概念比较模糊,可以是一种 操作系统,一种应用服务器,种数斩i :席软件,一种通讯r 一0 1 j f l 等。冈此,平台在应 用平台主要指提供特定服务的系统软件,i m 桩架更侧辱设计、j 1 发过程,或皆可以晚, 框架通过调用平台提供的服务而起作用。 框架不是工具包或者类库,调用a p i 并不就足存使用框架丌发,仅仅使用a p i 是 开发者完成系统的手题部分,并不时地调j 干j 类库实现特定任务。而框架构成了通用的、 具有一般性的系统主体部分,二次jr 发人员只足像做填窄- 样,根掘具体、l p 务,完成 特定应用系统中与众不同的特殊部分。 3 3 3 设计模式与框架的关系 设计模式和框架在软件设计中是两个不列的研究领域。没汁模式研究的是一一个设 计问题的解决方法,一个模町应用,:小f u 的枷架和被4 ij 叫的语:i 所实现;而根架则 是一个应用的体系结构,是一种或多种设计模式和代码的混合体。虽然它们有所不同, 但却共同致力于使人们的设计可以被事用,巾:思想 存在着统一h 的特点,【天j 而设计 模式的思想r 叮以在框架设计中进行j 、用。 框架和设计模式存在着疆著的x - 别,。 :受嵌r 见侄。者抛但的内容和致力应用的领 域: 1 ) 从应用领域上分,框架给出的是整个应用的体系结构;而设计模式则给出了肇 一设计问题的解决方案,并且这个方案可在不同的应刚程序或者柢架中进行应用。 2 ) 从内容上分,设计模式仪足一个币纯的设计,这个设计r 叮被彳;同语南以不用方 式束实现;而框架则是设计平代码的一一个混合体,编柙并”t 以j j 并种方式对框架进行 扩展,进而形成完整的不同的应用。 3 ) 以第2 条为基础,可以得出设计模式比框架更容易移植。枇架一一旦设计成形, 虽然还没有构成完整的一个应用,但是以其为基础进行廊用的丌发裎然耍受制于框架 的实现环境:而设计模式是与语h 无关的,所以f t r 以祚:更f 。泛的妤构环境巾进行应用。 总之,框架是软件,而设计模式是软什的j i | 识体,设计模j = l = 提升了机架的设计水 k “f 、j j ,j ;mr 】j f ,危t 平。 3 3 4 框架开发意义 软件系统发展到今人已绐很复杂了,粕别足服务器端软件,涉及剑的 谚 、内容 和问题越来越多。因此,将某唑方面的问题抽取卜h 束,形成一类问题的应用框架,具 有重要的意义。 首先,框架的最大好处就是蕈用。而向刈象系统获得的最大的复用方式就是框架, 一个大的应用系统往往可能由多层瓦棚防作的桁架组成。 其次,由于框架能重用代码,凶此,从已仃构件牢t i 建立应用变得1 常容易,因 为构件都采用框架统一定义的接口,从晌使构件n j j 的通信简单。 再次,框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分 解成更小的构件,而且能描述构件侧的内部接r 1 。这。j 标准接口使在已有的构件基础 上通过组装建立各种各样的系统成为t 叮能。j j 要符合接| i 定义,新的构件就能插入框 架中,构件设计者就能重用构架的设计。 第四,框架还能重用分析。所有的人员若按照框架的思想来分析事务,那么就能 将它划分为同样的构件,采用相似的解决方法,从而使采用同框架的分析人员之间 能进行沟通。 第 ,丌发应用框架,叮以建屯更力j i 放n j 系统软件设计人员f 叮以更专注于对 领域的了解,使需求分析更充分。而同大卡证皮的靛用使得平均j r 发费用降低,丌发速 度加快,软件质量提高,开发人员减少,维护费i j 降低,而参数化框架使得适应性、 灵活性增强。 3 2 访问控制 3 2 1 访问控制概述 访问控制技术起源于7 0 年代,当时足为了满足篱卿大型 i 机系统f :共孛数据授权 访问的需要。但随着计算机技术干心川的发展,特制是网络麻用的发腥,这一技术的 思想和方法迅速应用于信息系统的各个领域。在3 0 年的发眨过样r 卜,先后卅现了多种 重要的访问控制技术,它们的基本目标都足防止非法用户进入系统和合法用户对系统 资源的非法使用。为了达到这个目标,访问控制常以用户身份认证为6 “提,在此基础 上实施各种访问控制策略束控制和规范合法用户在系统t - 的行为。 访问控制是通过某种途径辊式地准许或限制 体对客体访f o j 能力及范【 j j 的一种方 法“。它是针对越权使用系统资源的防御措施,通过限制对关键资源的访问,防l l t i ! 法用户的侵入或因为合法用户的小慎操作而造成的破坏,从而保证系统资源受控地、 合法地使用。 访问控制的目的在于限制系统内用户的行为和操作,包括f j 户能做什么和系统程 序根据用户的行为应该做j 1 。么两个方【劬。 访问控制的核心足授权策略。授权策略足川j 一确;芭个卜体楚卉能刈客体捌有访 问能力的套舰则。在统的授权策略下,缁到授权的川户就址、f 上用户,仃则就是 非法用户。 访问控制涉及到三个基本概念,即主体、客体和访问授权。 1 主体:是一个主动的实体,它包括用,。,用户组、终端、主机或一个应用,主 体可以访问客体”。 2 客体:是一个被动的实体,它是信息的载体。它可以足一个7 节、字段、记录、 程序、文件、或者是一个处理器、存贮器、网络节点等。 3 授权访问:指主体访问客体的允许,授权访问对每一对主体和客体柬说是给定 的,而执行是搜索文件、执行文件。对用户的访问授权足由系统的安全策略决定的。 3 2 2 访问控制机制 访问控制机制是为检测和防止系统中的末绎授权访问,对资源予以保护所采取的 软硬件措施和一系列管理措施等。“。其曼i 里旦9 下: 母制压 境娩 “; i 割3 1 讥i - 】控伟9 # l $ | j 在主体和客体之问加入了一个访问控制实施模块,l i 它束负责控制主体对客体的 访问。其中,访问控制决策功能块是访问拧制爻施功能中最卜要的部分,它根掘访问 控制信息作出是否允许主体操作的决定,这早访问拧制信,目,可以存放包数掘库、数据 文件中,也可以选择其它的存取方法,视访问拧制f 。i 息的多少及安个敏感度而定。其 原理图如下: 【,l , il ,j r 仙li f 、一l 图3 - 2 访问控制实施上j j 能原理 访问控制策略和访问控制机制足彳丁k 别的。策略是住较高的眨次匕说明访问如何 控制和决策的判断,而机制则足根掘具体的软件和硬件功能| 勺配胃来实施一个策略。 人们已经丌始研究在独寺于策略的访问挎制机制,从而允订:机制存不同安全目的之问 的复用。例如,同样的访问控制机制可以适用保密性、完整件或可用性多个安全目标 需求。 通常,安全策略之间并不存在优劣,只足哪一种安伞策略史适合自己的安全要求。 因为,不同的应用通常具有不州的安全要求,适刚个系统的安全策略,并不一定适 用于另一个系统。例如,一个具有严格访问控制策略并不适合那些需要对用户提供灵 活保护的系统。所以,安全策略的选择依赖特定的保护环境的特征。 3 2 3 访问控制模型 访问控制矩阵( a c c e s sc o n t r o lm a t r jx ) 是最初实现访问控制机制的概念模型, 它利用二维矩阵规定了任意主体和任意客体问的访问权限”。矩阵中的行代表主体的 访问权限属性,矩阵中的列代表客体的访问权限横一什,知阵中的每格表示所在行的 主体对所在列的客体的访问授权。这种方法表现起柬比较清晰,f f l 通常情况下,访问 控制矩阵太大,并且由于许多主体对于大多数客体不能访问,川此造成菜唑存储空i 瑚 的值为空而导致浪费,所以,在实际应用中,访问摔制很少利用矩阵方式实现。下面 介绍几种基于访问控制矩阵而建立起来的模型。 1 访问控制表( a c c e s sc o n t r o li ,js t s ,a c i 。s ) 访问控制列表a c i s 是以文件为中心建0 访问权限表农巾仔记r

温馨提示

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

评论

0/150

提交评论