




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)供应链管理系统中应用安全的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南科技大学硕士研究生学位论文第1 页 摘要 供应链管理系统是企业和企业、企业和用户、用户和用户之间信息交流 的一个平台,也是企业信息化建设的重点,系统应用安全成为了这一系统构 建中的首要问题。论文是在设计和实现长虹集团公司供应链管理系统的基础 上完成的,论文的主要工作: ( 1 ) 针对供应链管理系统用户类型多、角色和资源不断更新的特征,使用 基于角色的访问控制技术构建了一个开放、统一的授权模型,授权模型实现 了用户、群组、角色、权限、资源的关联管理。系统还在授权模型的基础上 引入了a c e g i 框架,实现了系统认证授权机制。 ( 2 ) 在供应链管理系统中实现了消息的领域对象分类授权,通过建立消息 分类树,对消息分类进行授权,使新添加的具体消息拥有了所属消息分类的 权限,使用消息分类授权大大减少了数据库中授权记录的数据量。 ( 3 ) 论文分析了供应链管理系统的应用安全特征,使用s t r u t s 、s p r i n g 、 h i b e r n a t e 框架,发挥各自框架的优势,实现了供应链管理系统基础框架, 并且企业可以根据业务需求在基础框架上构建自身的子系统,如询报价系统、 招投标系统等等。 通过实践证明,构建的供应链管理系统授权模型不但能够满足认证授权 要求,还能够更加细粒度的控制领域对象的访问权限。 关键字:供应链管理授权模型领域对象分类领域对象授权 西南科技大学硕士研究生学位论文第1 | 页 a b s tr a c t s u p p l yc h a i nm a n a g e m e n t ( s c m ) s y s t e mi s ap l a t f o mf o ri n f o r m a t i o n c o m m u n i c a t i o nb e t w e e ne n t e r p r i s e sa n de n t e r p r i s e s ,e n t e r p r i s e sa n du s e r s ,u s e r s a n du s e r s ,a n db e c o m e st h ef o u c so fe n t e r p r is ei n f o r m a t i o nc o n s t r u c t i o n ,i n w h i c hs y s t e ms e c u r i t yb e c o m e st h ep r i m a r yc h a l l e n g e t h et h e s i si sc o m p l e t e d b a s e do nt h ed e s i g na n di m p l e m e n to fc h a n g h o n gg r o u p s c ms y s t e m ,t h em a i n p o i n t so ft h i st h e s i sa r ed e s c r i b i n ga sf o l l o w s : f i r s t l y , s c ms y s t e mh a sm o r et y p e so fu s e r s ,a n dw h o s er o l e sa n dr e s o u r c e s u p d a t ef r e q u e n t l y , u s i n gt h er o l e b a s e d a c c e s sc o n t r o lt e c h n o l o g y , a no p e n , u n i f i e da u t h o r i z a t i o nm o d e li sp r o p o s e d t h ea u t h o r i z a t i o nm o d e li m p l e m e n t st h e a s s o c i a t e dm a n a g e m e n ta m o n gu s e r s ,g r o u p s ,r o l e s ,p e r m i s s i o n sa n dr e s o u r c e s a c e g if r a m e w o r ki s a l s oi n t r o d u c e dt os c ms y s t e mt o i m p l e m e n ts y s t e m a u t h e n t i c a t i o na n da u t h o r i z a t i o n w h i c hb a s e do nt h ea u t h o r i z a t i o nm o d e l s e c o n d l y , sc ms y s t e mi m p l e m e n t e sd o m a i no b je c tc a t e g o r ya u t h o r i z a t i o n a n dt a k e sm e s s a g ea se x a m p l e ,t h a ti s ,b u i l d sam e s s a g ec a t e g o r yt r e e ,a n d a u t h o r i z e st h e s e c a t e g o r i e s ,s on e wm e s s a g e s h a v et h em e s s a g ec a t e g o r y a u t h o r i t y , w h i c hr e d u c e st h ea u t h o r i z e da m o u n to fd a t ar e c o r d s t h i r d l y , t h et h e s i sa n a l y z e st h es c ms y s t e m s e c u r i t yf e a t u r e s ,a n du s e s s t r u t s ,s p r i n g ,h i b e r n a t ef r a m e w o r k sa n dt a k e st h e i ra d v a n t a g et oi m p l e m e n t s c ms y s t e m b a s i cf r a m e w o r k ,a n de n t e r p d s e si na c c o r d a n c ew i t h b u s i n e s s n e e d st ob u i l du pt h e i ro w ns u b s y s t e m si nt h eb a s i cf r a m e w o r k ,s u c ha sr e q u e s t a n dq u o t a t i o ns y s t e m ,b i d d i n gs y s t e ma n ds oo n t e s tp r o v e st h a tt h eb a s i cf r a m e w o r ko fs c m s y s t e mn o to n l yg r a n t su s e r s u n i f i e da u t h e n t i c a t ea n da u t h o r i z e ,b u ta l s oc o n t r o l sd o m a i no b je c tm o r e f i n e g r a i n e d k e yw o r d s :s u p p l yc h a i nm a n a g e m e n t ;a u t h o r i z a t i o nm o d e l ;d o m a i n o b j e c tc a t e g o r y :d o m a i n0 b j e c ta u t h o r i z a t i o n 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 一奄榉 日期:力口1 扒r 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。( 保密的学位论文 在解密后应遵守此规定) 签名:躔才 翩繇群拟硝帐沙r 西南科技大学硕士研究生学位论文第1 页 1 绪论 1 1研究意义 在当今的信息化时代,市场竞争日益激烈,迫使企业不停地进行管理手 段变革,以希望达成降低成本、保证利润的目的。企业通过实施企业资源管 理系统( e r p ,e n t e r p r i s er e s o u r c ep l a n n i n g ,企业资源管理) 进行内部业 务能力挖潜并达到一定成效;通过实施后端客户关系管理系统( c r m ,c u s t o m e r r e l a t i o n s h i pm a n a g e m e n t ,客户关系管理) 进一步细分市场并扩大业务能力; 更通过实施前端供应链管理( s c m ,s u p p l yc h a i nm a n a g e m e n ts y s t e m ,供应 链管理系统) 来缩短采购周期、降低采购成本,从而进一步提高获利能力。 实施s c m 系统是i t 环境较好的企业的必然趋势,也是i t 界方兴未艾的商业 热点。 s c m 系统是对由供应商、制造商、分销商、零售商到顾客所构成网络中 的物资流、信息流、资金流进行管理的一个信息平台。供应链由核心企业和 所有加盟的节点企业组成,其中一般只有一个核心企业,节点企业与核心企 业之间的相互作用构成一个网络链状结构。链状结构由围绕核心企业的供应 商、供应商的用户、用户的用户组成,一个企业是一个节点,节点企业和节 点企业之间是一种需求与供应关系。 供应链中的用户类型比较多,如系统用户、供应商、代理商、顾客等。 使用这个系统的部门比较多,而各个部门中用户的职能不同,所以系统用户 在系统中所反映的角色也比较多,角色也会随着系统需求的增加而变动。其 中供应商分为国内供应商和国外供应商,代理商也分为国内代理商和国外代 理商,而顾客更是来自于社会的各个方面。 国内外很多供应链管理系统中的应用安全没有得到很好的控制,如认证 授权机制还不健全,很多还只是停留在对用户直接授权的基础上,当用户数 量急剧上升的时候就加大了管理员的管理难度,并且对用户直接授权也会经 常出现授权混乱情况。随着企业信息系统的增加,系统与系统之间的重复资 源也不断增加,这样造成了资源和人力的浪费,整合系统资源也成为了企业 信息化必须要解决的问题,也有些企业对系统进行了集成,但集成效果并不 理想心,所以企业迫切需要建立一个统一的认证授权平台,再在平台的基础 上建立企业所需要的业务需求。还有些系统还存在着严重的数据的机密性问 题,如数据库中的数据都是明文标示的,数据在传输的过程中没有进行加密 西南科技大学硕士研究生学位论文第2 页 处理,这样使得数据一旦泄露,将会对企业和供应商、客户造成严重的经济 损失。随着供应链系统的应用越来越广泛,需求也不断的增加,系统不但要 求保护以用户为中心的w e b 资源、业务方法,还需要对数据库中的数据项进行 细粒度保护。 本论文分析了s c m 的特征和不同企业之间的一些共同安全需求,其意义在 于对用户的授权控制更加简便,能够使用户准确的访问到对应的资源;把领 域对象授权引入了s c m 系统中,在传统的领域对象授权的基础上,设计和实现 了领域对象分类授权,合理使用了内存,提高了与r d b m s 交互的效率,并且在 分析和设计供应链管理系统的基础上构建了供应链管理系统的基础框架,这 样企业便可以根据自身的需求在框架下设计和实现自身的子系统。 1 2 国内外技术现状 在国内外,对于s c m 软件的主流开发平台主要有m i c r o s o f t 公司的n e t 和s u n 公司的j 2 e e ”。传统的s c m 系统主要在n e t 平台下开发,这些系统主 要是基于c s 模式,在c s 模式下,需要在每一个客户端都装上客户端软件, 部署和维护都相当的麻烦。随着网络技术的发展,b s 模式逐渐盛行,在这 种模式下,用户在任何地方直接通过浏览器就能够完成自己的办公任务,而 不仅仅局限于自己的办公地点和某一台机器,也不需要在办公的机器上装上 客户端软件,在面向对象及j a v a 语言应用迅速发展的今天,以j a v a 为程序 设计语言的j 2 e e 具有平台无关性,j 2 e e 已成为s c m 系统开发的标准理想平 厶 1 :3o s c m 系统的业务逻辑层解决方案为基于j 2 e e 架构的e j b h l 机制,它是一 种对代码和设计强侵入的规范,使业务组件很难扩展和重用,其分布式结构 也不易测试,从而影响开发效率。基于传统j 2 e e 架构的缺陷和企业应用的需 求,许多专家和开源组织试图开发出一些j 2 e e 规范的具有轻量级1 6 可伸缩、 易扩展特性的w e b 应用及其安全框架。其中应用最为广泛的是s t r u t s ,、 s p r i n g ”和h i b e r n a t e 框架n m 】,s t r u t s 是基于m v c 模式的,视图、控制、模 型相互分离,相对于传统的j s p ,更加容易维护和分工;s p r i n g 相对于传统 的e j b 为轻量级、低耦合的应用框架,开发者不需要弄懂e j b 的全套技术才 能进行深入开发,降低了开发者的技术难度,以s p r i n g 为中心整合了s t r u t s 和h i b e r n a t e ;h i b e r n a t e 封装了j d b c ,使开发可以使用面向对象的思维来操 纵数据库中的数据,而不需要在面向对象和面向关系的二种思维中来回切换。 西南科技大学硕士研究生学位论文第3 页 使用s t r u t s 、s p r i n g 、h i b e r n a t e 框架来开发s c m 系统,能够让开发者将充 裕的时间用来关注s c m 的业务逻辑需求,而非繁杂的代码工程。采用这些框 架构建的分布式应用程序具有高内聚、低耦合、高弹性、易维护的优点。 同时,基于s p r i n g f r a m e w o r k t l 的a c e g in 2 1 安全框架是非侵入式的安全框架, 其核心思想为:a o p ( a s p e c t o r i e n t e dp r o g r a m m i n g ) “3 1 和i o c ( i n v e r s i o no f c o n t r 0 1 ) u “,能够替代e j b 来解决事务、安全、日志等问题。 基于b s 模式的供应链管理系统通过访问控制服务,可以限制对关键资 源的访问,防止非法用户的入侵或者因合法用户的不慎操作所造成的破坏。 访问控制技术起源于2 0 世纪7 0 年代,在3 0 多年的发展过程中,先后出现过 多种访问控制技术,其中在w e b 系统中应用最为广泛的为r b a c ( r o l e - b a s e d a c c e s sc o n t r 0 1 ) ,r b a c o 为r b a c 控制系统的最小的元素集合,r b a c i 、r b a c 2 、 r b a c 3 都是先后在r b a c o 上的扩展,并且可以结合不同的具体的需求在r b a c o 上进行扩展。 在企业最开始的应用开发过程中,最早出现的是代码级的j a v a 安全,即 企业安全操作都是直接针对运行在j v m 中的代码,这种代码级的j a v a 安全是 以代码为中心的,不但难用,也不支持更抽象的认证和授权操作,比如j s p 页面、受管p o j o 等,而且它同企业计算环境不能够很好地融入在一起,也不 能够很好的从用户、角色角度完成资源的认证和授权。 j a v a 认证与授权服务( j a v aa u t h e n t i c a t i o i la n da u t h o r i z a t i o n s e r v i c e ,j a a s n 副) 的出现打破了这一局面,从j d k1 4 + 开始,j a a s 成为了j d k 的重要组成部分。企业应用开发者可以在j 2 e e 中使用j a a s ,而且能够确保应 用的便携性、健壮性。j a a s 提供了一套a p i 集合,它使得应用能够对用户实施 认证和授权。事实上,大部分j 2 e e 容器在实现j 2 e e 安全性编程模型时都采用 了j a a s 技术。 a c e g i ( s p r i n gs e c u r i t y ) 主要是为了简化j 2 e e 企业级应用中安全的开 发和部署,为企业应用提供了一站式的解决方案。a c e g i 也是在j a a s 的基础上 产生的,采用了j a a s 认证用户,并将认证结果用于a c e g i 使能应用的授权操作 中。a c e g i 是采用s p r i n gf r a m e w o r k 来架构自身的,后来成为了s p r i n g 官方的 子项目,即s p r i n gs e c u r i t y 。 面向对象的思想在系统设计开发中成为了主流,随着h i b e r n a t e 的出现, 我们可以使用面向对象思想去操作数据库,此时,数据库中的数据可以看作 为对象,对数据库中的对象访问权限分为两种,种是对象范围的权限,一 种是对象的权限。前一种可以通过动态构建的h i b e r n a t eq u e r yl a n g u a g e 西南科技大学硕士研究生学位论文第4 页 ( i l q l ) 来解决;后一种则必须通过访问控制列表( a c c e s sc o n t r o ll i s t , a c l ) 不可“引。j 2 e e 没有对对象授权进行规范,a c e g i 提出了对对象的保护, 并且用a c l 实现了保护对象的目的。 1 3课题来源与研究内容 s c m 系统是跨企业的采购协同系统,更是电子商务的重要环节,信息防 窃取、交易防欺诈是系统设计中面临的主要问题;s c m 本身结构比较复杂, 用户类型比较多,随着业务的发展,很多新的用户、角色、资源都会在系统 应用过程中不断的出现。本课题来源于长虹集团公司的s c m 项目,项目的目 的是为实施s c m 系统为跨企业的协同采购带来采购成本的降低,而且并不会 提高销售成本或者降低产品质量。在s c m 项目实施之前,长虹集团已经有了 竞价系统、v m i 系统等单独的系统,这些系统都有各自独立的用户管理和授 权方案,s c m 是为了集成这些子系统而开发的,要求在s c m 中构建一个开放 式的、统一的认证授权框架,以适应新的用户、角色的增加,并且根据企业 的需求,在平台上集成企业子系统;还要求对数据库中的数据项进行更加细 粒度的授权,来适应不断变化的企业需求。 论文的研究内容主要体现在以下方面: ( 1 ) 分析了供应链管理系统的应用安全需求,并提炼出企业供应链管理系 统的共同特征。 ( 2 ) 研究并整合主流的开源的框架s t r u t s 、s p r i n g 、h i b e r n a t e 、a c e g i , 并发挥各个框架优势。 ( 3 ) 在分析供应链管理系统共同特征的基础上,设计和实现了一个以基于 角色访问控制为核心的授权模型。 ( 4 ) 在授权模型的基础上引入了a c e g i 框架,实现了供应链管理系统的认 证和授权。 ( 5 ) 把领域对象授权引入了供应链管理系统中,在a c e g ia c l 的基础上提 出了领域对象分类授权方案,并以供应链管理系统中的消息为例论证了方案 的可行性,并设计和实现了消息分类授权。 ( 6 ) 设计和实现了系统监测功能。 ( 7 ) 在授权模型和领域对象授权方面进行了测试分析,并根据长虹集团在 基础框架上构建的询报价系统验证了框架的可行性。 西南科技大学硕士研究生学位论文第5 页 2 供应链管理系统应用安全要求与技术 安全,是一个永恒的话题。无论是日常生活,还是软件领域,到处都需 要安全保驾护航。尽管不存在绝对的安全,但不采取任何措施应对安全带来 的挑战,后果是不堪设想的。在现实系统中,存在着很多安全方面的问题, 如s q l 侵入、跨网站脚本漏洞、拼接u r l 地址等等f - ”。本章介绍供应链管理 系统对应用安全的要求和在j 2 e e 中的认证授权机制。 2 1供应链管理系统对应用安全的要求 供应链管理系统是一个企业与供应商,供应商与用户、用户与用户之间 信息交互的平台。目前企业的供应链管理系统在应用安全方面的主要要求有: ( 1 ) 用户身份认证安全 用户在访问目标资源i j ,企业级安全必须拦截到这一访问请求,并作出 用户认证处理,比如收集用户凭证、确认用户身份等。在完成用户认证处理 后,企业级安全需要管理好认证结果,以供用户后续访问使用,从而避免重 复认证处理。 ( 2 ) 访问控制的安全 当用户身份认证通过后,企业级安全需要同时依据认证结果和用户待操 作的目标资源进行评估,从而确定当前用户是否有权访问目标资源。供应链 管理系统中用户的类型比较多,同时角色也不固定,随着供应链管理的发展, 在企业前期的需求中,很多用户或角色是我们不能够预料到的,同时,不同 的角色对资源的访问需求也可能变动,所以在访问控制的设计中需要具有可 扩展性,能适应不断变化的用户、角色、资源的需求。 ( 3 ) 授权的粒度 对于w e b 页面、业务方法的授权都是以用户、角色为中心的,随着业务 的不断发展,还需要对领域对象( 业务数据) 进行授权保护,也就是说针对 数据库中的数据项进行更加精细的授权控制。 ( 4 ) 信息传输的安全 基于b s 结构的w e b 系统是可以在世界各地的任何浏览器上都可以登陆 的,在浏览器与服务器之间的信息传输要经过许多网络设备和传输链路,如 果对传输信息中的机密信息不进行加密传输,则极有可能在传输过程中被非 法截取而泄密,这是非常危险的。同时,如果从用户端到企业数据库服务器 西南科技大学硕士研究生学位论文第6 页 之间的所有信息交换在传输过程中不加密的话,则非常容易在传输过程中被 非法恶意篡改,从而使得企业蒙受巨大的经济损失。 ( 5 ) 数据库中数据的安全性 供应链管理系统是一个信息管理的平台,首先需要保障数据库中的数据 安全,严格对内控制数据库的访问密码,防止个别管理员的不法行为;其次 对数据库中的一些机密、敏感的数据实行加密措施,即使不法人员登陆系统 后,也不能看到这些加密的数据;最后需要实行防范措施,即使数据库被黑 客攻破了,也要求补救及时,把损失降到最低。 ( 6 ) 系统监测 系统监测不仅可以有效地规范系统的运作方式,防止一些投机倒把的用 户聚集投标,而且可以在很大程度上减少管理员由于误操作造成的损失,及 时发现事故并分析其安全原因。 2 2认证技术 认证分为实体标识认证和用户标识认证。实体标识认证需要两个协议的 支持:数字签名协议和密钥交换协议,其中数字签名协议提供负责性服务, 而密钥交换协议提供隐私性服务;用户标识认证是指计算机及网络系统确认 用户身份的过程,在j 2 e e 中主要应用用户标识认证。 j 2 e e 环境支持三种认证服务,分别是:基于容器的认证、基于应用的认 证、基于代理的认证“。 ( 1 ) 基于容器的认证 基于容器的认证是由j 2 e e 服务基础设施提供的标准认证服务,使j 2 e e 环境能够认证用户,从而使用户可以访问部署的应用。目前,j 2 e e 领域主流 的认证机制包括b a s i c 认证、摘要( i ) i g e s t ) 认证、表单认证、x 5 0 9 认证 ( s s l 双向认证) ,2 - 1 图为用户认证的示意图。 一旦w e b 用户访问服务器中受保护的w e b 资源时,服务器会要求用户提 供相应的用户凭证。如果w e b 用户未在w e b 请求中包含用户凭证信息,则服 务器会启用相应的认证机制去采集用户凭证。如果w e b 用户已经在w e b 请求 中内置了用户凭证,则服务器会检验用户凭证的有效性,从而确认用户的真 实身份。以下介绍这几种认证方式: b a s i c 认证:w e b 容器组件用w e b 客户端弹出的用户名和密码对话框来 对主体角色进行认证。 西南科技大学硕士研究生学位论文第7 页 图2 - 1用户认证示意图 f i g u r e 2 1 u s e ra u t h e n t i c a t io n 表单认证:将登录对话框制定为表单,用户向w e b 容器传递用户名和 密码来认证用户身份。 摘要认证:在摘要认证中,客户端发送一条h t t p 请求消息来向服务器 请求认证,该消息中包含客户端密码的消息摘要,j 2 e e 规范并未对摘要认证 作要求,所以各个j 2 e e 容器可以不支持摘要认证。 x 5 0 9 认证( s s l 双向认证) :客户端和服务器都用x 5 0 9 证书来证明 身份,这种认证通常使用s s l t l s 协议通过安全通信信道进行。 ( 2 ) 基于应用的认证 在基于应用的认证中,应用采用编程型安全方法收集用户凭证,并根据 安全域来验证身份。 ( 3 ) 基于代理的认证 基于代理的认证允许j 2 e e 应用使用第三方安全提供者进行认证。由安全 提供者提供的可插入代理为门户、j 2 e e 管理的业务应用等提供单点登录( s s 0 ) 解决方案,即企业用户同时访问多个不同应用时,只需要提供自身的用户凭 证信息一次,s s 0 负责统一认证用户。 2 3 授权技术 授权主要是对以认证用户是否有权操控目标资源,主要通过访问控制来 西南科技大学硕士研究生学位论文第8 页 实现。访问控制是通过某种途径准许或限制访问能力及范围的一种方法,通 过访问控制服务,可以限制对关键资源的访问,防止非法用户的入侵或者因 合法用户的不慎操作所造成的破坏。访问控制策略是解决访问控制问题的思 想方法,被应用于信息系统的各个领域,如操作系统、数据库系统和文件系 统等n ”。简单地说,访问控制就是决定“在何时何地,哪些用户可以使用哪 些资源 ,该技术起源于2 0 世纪7 0 年代,在3 0 多年的发展过程中,先后出 现过多种访问控制技术,其中影响比较广泛的有自主访问控制、强制访问控 制和基于角色的访问控制策略瞳”。 ( 1 ) 自主访问控制技术( d a c ) 自主访问控制的基本思想是:系统中的主体可以自主的将其拥有对客体 的访问权限授予其它主体。自主访问控制有一个明显的缺点就是这种控制是 自主的,它只能够控制主体对客体的直接访问,但不能控制主体对客体的间 接访问( 利用访问的传递性,即a 可访问b ,b 口- - f 访问c ,于是a 可访问c ) 。虽然 这种自主性为用户提供了很大的灵活性,但同时也带来了严重的安全问题。 ( 2 ) 强制访问控制技术( m a c ) 安全级别高的计算机采用这种策略,它常用于军队和国家重要机构,如 将数据分为绝密、机密、秘密和一般等几类。用户的访问权限也类似定义, 即拥有相应权限的用户可以访问对应安全级别的数据,从而避免了自主访问 控制方法中出现的访问传递问题。这种策略具有层次性的特点,高级别的权 限可以访问低级别的数据。这种策略的缺点在于访问级别的划分不够细致, 在同级别访问中缺乏控制机制。 ( 3 ) 基于角色的访问控制技术( r b a c ) 由于d a c 和m a c 安全性的缺陷以及基于用户的机制造成的添加用户功能时 操作的复杂性,我们选择了一种新型的访问控制技术r b a c ( r o l e b a s e d a c c e s sc o n t r 0 1 ) ,。r b a c 中,在用户和访问许可权( 权限) 之间引入角色的 概念,用户与特定的一个或多个角色相联系,角色与一个或多个访问许可权 相联系,角色可以根据实际的工作需要生成或取消,而用户可以根据自己的 需要动态地激活自己拥有的角色,避免了用户无意中危害系统安全。r b a c 模 型是目前最为广泛接受的权限模型,标准r b a c 模型由4 个部件模型组成,这4 个部件模型分别是基本模型r b a c o 、角色分级模型r b a c l 、角色限制模型r b a c 2 和统一模型r b a c 3 。r b a c o 模型如图2 - 2 所示。 西南科技大学硕士研究生学位论文第9 页 用户角色分配 与用户相联系的会话集合 s e s s i o n 激活的角色 角色权限分配 图2 - 2r b a c o 模型 f i g u r e 2 。2 t h em o d e io fr b a c o r b a c o 定义了能构成一个r b a c 控制系统的最小的元素集合。在r b a c 之中, 包含用户u s e r s 、角色r o l e s 、目标o b s 、操作o p s 、许可权p r m s 这5 个基本数据 元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此 用户就拥有了该角色所包含的权限。会话s e s s i o n s 是用户与激活的角色集合 之间的映射。r b a c o 与传统访问控制的差别在于增加角色,这样间接的带来了 灵活性,r b a c l 、r b a c 2 、r b a c 3 都是先后在r b a c o 上的扩展。目前大型系统应 用于社会的方方面面,寻找一种适合大型可扩展系统的安全管理方案就显得 极为重要。而r b a c 技术由于其对角色和层次化管理的引进,特别适用于用户 数量庞大,系统功能不断扩展的大型系统幢”。 ( 1 ) 用户和角色 用户是指访问系统的资源主体,一般为人,也可为a g e n t 等智能程序。角 色指应用领域内一种权力和责任的语义综合体,一般来说是一个抽象概念, 也可以是对应于实际系统中的特定语义体,系统的设计者可以根据自己的需 要设定角色的定义和名称。针对角色属性的不同,某些模型中将角色进一步 细分为普通角色和管理员角色( 可理解为全局角色) 。 ( 2 ) 许可和权限 被赋予了超级管理员角色的人,负责定义角色。定义角色的同时,我们 要对角色进行授权,这里含有另外两个具体的概念:许可和权限。其中许可 是授权的结果,表示某个角色获得了某种权限,权限描述的是许可和具体操 作间的某种关联关系。 西南科技大学硕士研究生学位论文第10 页 ( 3 ) 角色和指派 指派是r b a c 理论中另一个重要的概念,其中包括用户指派和许可指派两 种。理解为先定义了角色和权限,再给用户分配角色( 用户指派) 、给角色 分配权限( 许可指派) ,这样用户就获得了角色对应的权限。 ( 4 ) 限制、角色和角色等级 角色本身仅仅只是一个名词,其本身并不能代表权限的大小。系统无法 仅仅根据角色的名称来确定权限的高低和区别。因此需要采用分等级角色, 在角色上实现层次化来解决这些问题。也可以采用复合角色( 其表示的就是一 个角色组的概念) ,对角色实现一定的分组和复合,以便于权限指派m ,。 ( 5 ) 会话 分配了权限给角色,又分配了角色给用户,实际上就是通过角色,把权 限赋给了用户。在用户登录时会根据它所拥有的角色信息,把其权限取出来, 当这个用户请求某个操作时,要先验证此用户是否有操作权限。这样就实现 了对具体用户的访问控制。这一过程在理论中称为会话,会话表示的是用户 和角色之间的关系。用户每次必须通过建立会话来激活角色,得到相应的访 问权限。其实在系统中会话就是用户登录和验证的过程,用户只有通过会话 激活其角色后,才能获得相应的操作权限。 2 4 系统框架技术 s t r u t s 、s p r i n g 、h i b e r n a t e 是三个开源的项目,是目前j 2 e e 开发中的流 行框架。这三个框架可以整合在一起,s p r i n g 无缝的集成了s t r u t s 和 h i b e r n a t e 。a c e g i 是一个基于s p r i n gf r a m e w o r k 的安全框架,能够和目前流 行的w e b 容器无缝集成。a c e g i 使用了b e a nc o n t e x t 、拦截器和面向接口的编 程方式,为w e b 系统提供认证和授权服务,通过配置h c e g i 配置文件,使系统 能够轻松的适用复杂的安全需求。下面分别介绍这四个框架技术。 2 4 1 s i ru t s 框架 s t r u t s 是a p a c h e 软件基金下j a k a r t a 项目的子项目,是m v c 模式的一种实 现。基础代码从2 0 0 0 年5 月开始开发,2 0 0 1 年6 月,1 0 版本发布。s t r u t s 在 a p a c h e 软件许可下对公众是免费的,同样,a p a c h e 软件许可对商业用途也是 友好的。b e e h i v e 为a p a c h e 软件基金会的一个开源项目,通过s t r u t s 建立一个 p a g ef l o wm o d e l ,在网络应用开发上获得了长足的进步。利用新型j s r 一1 7 5 西南科技大学硕士研究生学位论文第”页 和j s r - 1 8 1 元数据注释工具,b e e h i v e 简化了j 2 e e 应用开发扭“。你可以在你的 商业项目中使用s t r u t s ,并自由使用s t r u t s 库。你也可以将s t r u t s 组件集成 到你的框架中,如同自己编写的一样幢”。 s t r u t s 的应用开发使用了大量的其他基础技术。这些技术并不是专门针 对s t r u t s ,而是所有j a v aw e b 应用都可以使用的。开发者使用s t r u t s 之类的 框架是为了隐藏在诸如h t t p ,c g i ,以及j s p 之类技术后面的繁琐的细节。 自从2 0 0 0 年a p a c h es t r u t s 出现以来,它在大多数的标准下都运行良好, 帮助开发出了许多基于j a v a 的w e b 应用程序。s t r u t s 是利用服务器端生成的 h t m l 和客户端验证的j a v a s c r i p t 的完美结合,使开发和维护变得更加容易。 2 4 1 1s t r u t s 结构模型 s t r u t s 是基于m o d e l 2 之上的,而m o d e l 2 是经典的m v c ( 模型一视图一控 制器) 模型的w e b 应用变体,这个改变主要是由于网络应用的特性一h t t p 协 议的无状态性引起的。m o d e l 2 的目的和m v c 一样,也是利用控制器来分离模 型和视图,达到层间松散耦合的效果,提高系统灵活性、复用性和可维护性。 在多数情况下,你可以将m o d e l 2 与m v c 等同起来。图2 - 3 表示一个基于j a v a 技术的典型应用,从中可以看出m o d e l 2 中的各个部分是如何对应于j a v a 中 各种现有技术的n ”。 图2 - 3m v c 模型应用图 s t r u t s 通过如下的方式实现m v cm o d e l 2 中的模型一视图控制器: 西南科技大学硕士研究生学位论文 第12 页 ( 1 ) 视图 视图是通过一组j s p 程序实现的。这些j s p 程序中不能包含业务逻辑, 也不能包括模型信息。视图中的标签可以是j s p 标签,也可以是客户自定义的 标签。在s t r u t s 中a c t i o n f o r mb e a n 也被看成是视图的一部分。它是更新视 图以及视图查询模型状态的桥梁,同时也可以用于验证h t m l 表单。除j s p 组 件之外视图通常还包括h t m l 文档、j s p 客户化标签、j a v a s c r i p t 、c s s 、多媒 体文件、消息资源等但”。 ( 2 ) 模型 模型是程序的状态表示,其状态包括信息传递的状态、共享状态或一次回 话中的状态,以及持久状态。而操作这些状态的流程也同样包括在模型中。这 些模型也就是业务的总体运作流程和数据,对于大型应用,模型一般由 j a v a b e a n 或者e j b 来实现。 ( 3 ) 控制器 控制器部分由a c t i o n s e r v l e t 和a c t i o n 来实现。a c t i o n s e r v l e t 继承了 j a v a x s e r v l e t h t t p h t t p s e r v l e t 类,是s t r u t s 框架用来和w e b 容器交互的纽 带。该类是s t r u t s 框架的核心组件,它在m v c 模型中扮演中央控制器的角色。 w e b 容器接收到的客户请求都会交给a c t i o n s e r v l e t ,由该类根据s t r u t s c o n f i g x m l 文件的配置信息选择合适a c t i o n 来处理请求,并传递请求过程中 的数据,这些数据的传递是通过a c t i o n f o r m 来完成的。a c t i o n 类负责调用模 型的方法,更新模型的状态,帮助控制应用程序的流程。对于小型简单的应用 a c t i o n 还可以完成一些实际的业务逻辑。而对于大型应用来说,a c t i o n 贝l j 是 充当用户请求与业务逻辑之间的适配器,把业务逻辑放在单独的j a v a b e a n 或 者e j b 当中可以提高应用程序的灵活性和可重用性。 2 4 1 2s t r u t s 工作流程 对于采用s t r u t s 框架的w e b 应用,当w e b 容器启动时就会加载并初始化 a c t i o n s e r v l e t ,a c t i o n s e r v l e t 从s t r u t s c o n f i g x m l 文件中读取配置信息, 把他们存放在各种配置对象中。图2 - 4 为s t r u t s 流程图。 2 4 2 s p rin g 框架 s p r i n g 为一个开源项目,是从2 0 0 3 年2 月份启动的,其中的基础代码来自 2 0 0 2 年末所写的e x p e r to n e - o n o n ej 2 e ed e s i g na n dd e v e l o p m e n t 一书。 此书为s p r i n g 的架构定下了基调b 。圳。下面介绍s p r i n g 框架的技术特性。 西南科技大学硕士研究生学位论文 第13 页 客户端浏览器 i h t t p 响 图2 - 4 f ig u r e 2 4 ( 1 ) 轻量级( l i g h t w e i g h t ) s p r i n g 的轻量级主要表现在它的体积与管理开销上。典型的s p r i n g 应用 程序中的对象可以不依赖于s p r i n g 特殊类之上,即组件并不需要实现框架指 定的接口,因此可以轻松的将组件从s p r i n g 中脱离,甚至不需要任何修改,这 样无疑极大的提高了代码的重用性幢”。 ( 2 ) 反转控制依赖注入 反转控制技术是s p r i n g 用来促进代码的解耦合。反转控制( i o c ) 就是由容 器控制程序之间的关系,而非传统实现中的由程序代码直接操控。依赖注入 技术则将反转控制的思想更向前迈进了一步。所谓依赖注入即组件之间的依 赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中 们口”。常见的依赖注入方式有构造子注入( c o n s t r u c t o ri n j e c t i o n ) 和设值方 法注入( s e t t e ri n j e c t i o n ) 。控制反转和依赖注入的优势在于: 类和类之间的依赖关系交给l o c 容器去管理,而不是在类的内部去控 制。( 容器负责装配运行期间的应用对象,而无需在应用代码中查找定位) 。 提供了解耦合能力,应用程序不依赖服务接口的具体实现。 当对象要与其他实际的对象发生依赖关系的时候,注入依赖实际对象 就行。 西南科技大学硕士研究生学位论文第14 页 ( 3 ) a o p 面向方面的编程臣j a o p 是一种编程技术,它允许程序员对横切关注点或横 切典型的职责分界线的行为进行模块化。a o p 的核心构造是方面,它将那些影 响多个类的行为封装到可重用的模块中。a o p 框架虽然是s p r i n g 的一个关键组 件,但是s p r i n g 的目标不是提供完善的a o p 实现,而是提供一个和s p r i n gl o c 紧密整合的a o p 实现,帮助解决企业应用中的常见问题。因此s p r in g 实现a o p 的途径不同于其他大部分a o p 框架,其中一个重要区别是处理逻辑和切点本身 由s p r i n gi o c 管理。可以说s p r i n g 的a o p 就是围绕着更好的实现i o c 而实现的。 2 4 3hib e r n a t e 框架 对象数据库尚不成熟,关系数据库的使用仍然最广泛,占据了数据库市场 9 0 以上份额。但关系数据库中存放的数据是非面向对象的,为了解决面向对 象的应用程序和面向关系的数据库系统之间的不匹配,需进行对象关系的 映射( o r m ) 。o r m 工具能够在j a v a 对象与数据库表之间建立映射关系,具有自 我存储到关系数据库的能力,对对象的改变能够直接存储到数据库,形成相 对独立的对象持久层。目前存在很多0 r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乳酸菌素片课件
- 护理导论系统的基本属性
- 2025年初级招采人员考试(招标采购专业实务)在线模拟题库及答案及答案(辽宁省)
- 铁建项目工会汇报
- 公司法自考课件
- 颅骨缺损修补术的护理
- 公司治理李维安课件
- 护理计划的实施与评价
- 劳动合同范文:安全生产责任状8篇
- 2025年设备中介合同范本
- 罗茨风机检修方案课件
- 2025年青协社团笔试题目及答案
- 光伏电站智能监控系统建设方案
- 供水工程成本预算与动态控制方案
- GB/T 45860.1-2025光纤激光束焊机的验收试验第1部分:光纤输送机的激光组件
- 卒中后抑郁症的中医治疗
- DB50∕T 1653-2024 林区森林防火及森林质量提升专项规划编制导则
- 制冰厂可行性研究报告
- 快递业务流程标准化管理
- 中班健康魔法消气屋课件
- 蓝莓水肥一体化栽培技术规程
评论
0/150
提交评论