Acegi在电子商务系统中的应用

来源 :中国市场 | 被引量 : 0次 | 上传用户:xuwenhaiyy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文分析了Acegi安全框架,详细说明了Acegi安全框架的工作过程。举例说明了Acegi安全框架的具体应用,讨论了如何利用Acegi进行Web资源的认证和授权。使用一种基于数据库的策略来对Acegi资源配置进行动态扩展,满足电子商务系统中用户在运行期间的动态改变权限的需求。
  关键词:认证;授权;安全框架;电子商务
  中图分类号:TP393.08 文献标识码:A 文章编号:1005-6432(2008)41-0028-02
  
  电子商务是一种全新的企业经营模式,由于其网络传输信息的特殊性,所以安全问题显得十分重要。在电子商务系统中,由于业务需求面临着不断的变化,安全逻辑应该与应用业务逻辑代码相分离,采用Acegi安全框架只要在配置文件中定义即可,真正做到了安全逻辑与业务逻辑的分离,很好地满足了电子商务应用程序安全的需求。
  
  一、Acegi安全框架
  
  Acegi是一个基于Spring Framework的安全框架。 Acegi安全系统由过滤器、管理器、提供者和处理程序四种主要类型的组件组成。过滤器提供了常见的安全服务,如身份验证、会话处理以及注销。管理器管理是由不同提供者提供的较低级的安全服务。提供者可用于和不同类型的数据存储服务通信,Acegi的管理器将在运行时选择合适的提供者。有时任务可能会被分解为多个步骤,每个步骤由一个特定的处理程序执行,可以使用自己选择的处理程序来执行保护应用程序所需的步骤。
  Acegi安全系统的安全拦截器包含三个管理类: Authentication Manager(认证管理器)用于管理Authentication Provider(认证提供者)来对用户进行认证。认证管理器依次调用认证提供者的认证方法,直到认证通过。Access Decision Manager(访问决策管理器)用于授权一个特定的操作,先通过Authentication Manager判断用户是否通过认证,再根据Object Definition Source的配置信息调用Access Decision Manager,根据Role Voter的“投票”评估决定用户是否有权访问某资源。此外还借助于安全拦截器实现了对受保护资源的授限访问。Run as Manager当执行特定的操作时,用于选择性地替换Authentication对象。
  
  二、Acegi的工作流程
  
  当客户机向应用程序发送HTTP请求时,其工作流程如图1所示。
  


  (1)客户机向应用程序发送HTTP请求。
  (2)容器接收到HTTP请求创建一个请求对象和一个响应对象,然后调用Acegi的过滤器链代理。当容器调用代理时,它将向代理发送请求、响应以及过滤器链对象。
  (3)代理过滤器调用过滤器链中第一个过滤器,向其发送请求、响应和过滤器链对象。
  (4)链中的过滤器逐个执行其处理。一个过滤器可以通过调用过滤器链中下一个过滤器随时终止自身处理。
  (5)当身份验证过滤器完成其处理时,这些过滤器将把请求和响应对象发送到应用程序中配置的拦截过滤 器。
  (6)拦截器决定是否对发出请求的客户机进行授权,使它访问所请求的资源。
  (7)如果授权检查通过,拦截器将控制权传输给应用程序,否则拒绝。
  (8)应用程序改写响应对象的内容。
  (9)响应对象已经准备好了,容器将响应对象转换为HTTP响应发送到发出请求的客户机。
  
  三、Acegi具体应用
  
  了解了Acegi的工作流程后,在电子商务系统中的应用重点是过滤器和拦截器的配置。Authentication ProcessingFilter 配置如下:
  <bean id="authenticationProcessing Filter"class
  ="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
  <property name="authenticationManager">
  <ref local="authenticationManager"/>
  </property>
  <property name="filterProcessesUrl" value="/j_acegi_security_check"/>
  <property name="defaultTargetUrl'value="/index.jsp"/>
  <property name="authenticationFailureUrl"value="/login.jsp?login_error=1"/></bean>
  安全拦截器收到客户端请求后,决定是否对其进行授权。由于在运行期间用户可能会提出动态改变权限分配的需求,使用基于数据库的策略读出相关的安全配置参数。首先实现一个Property Editor(例如Customer Editor Configure)来覆盖默认的实现。自定义一个资源定义接口包含核心方法(Get Filter Invocation Definition Source),提供资源和角色的配置,用数据库中的数据重新组装Filter Invocation Definition Source。将Filter Invocation Definition Source Cache中的Filter Invocation Definition Source传递给Filter Invocation Interceptor。
  配置如下:
  <bean id="filterlnvocationInterceptor"class="net.sf.acegisecurity.intercept.web. FilterSecuritylnterceptor">
  <property name="authenticationManager">
  <ref local="authenticationManager"/>
  </property>
  <property name="accessDecisionManager"> <ref local="accessDecisionManager"/>
  </property>
  <property name="objectDefinifionSource">
  <ref local="FilterInvocationDefinitionSourceCache"/>
  </property></bean>
  <bean id="customEditorConfigurer"class="org.springframework.beans.factory. config.CustomEditorConfigurer">
  <property name="customEditors">
  <map><entry key="org.acegisecurity.intercept.web.FilterlnvocationDefintionSource">
  <bean id="filterInvocationDefinitionSourceDaoExtentionEditor" Class="com.skyon.um.se- curity.acegi. intercept.web.FilterlnvocationDefinitionSourceDynamicExtentionEditor"></bean></entry></map></property></bean>
  与认证授权相关的数据库设计如图2所示。
  


  
   四、结束语
  
  Acegi安全框架真正实现了安全代码从业务代码中的分离,系统结构更合理。在电子商务系统中,通过使用数据库策略对Acegi资源配置动态扩展完成认证与授权,很好地解决了电子商务系统中应用程序的安全性需求。
  作者单位:华东交通大学
  
  参考文献:
  路鹏,殷兆麟.基于Spring的Acegi安全框架认证与授权的分析及扩展[J].计算机工程与设计,2007,28(6):1313-1316.
其他文献
“善用同伴影响力”等  王 婷    在美国亚利桑那州国家森林公园,曾经发生过这样一个小故事。由于这个公园的硅化木的失盗率每月都在上升,管理人员就在公园显著位置放置了一个标识牌,上面写着:每年大约都有14吨硅化木被盗,你们的遗产每天都在遭受巨大损失。他们本是希望阻止潜在罪犯,但没想到却适得其反:一个看了标识的妇女对同伴说,我们最好赶紧拿走我们的东西。而这位妇女,据说平时如果未经允许连一块橡皮擦都不
期刊
吉列的荷尔蒙营销传统等  吴 娟    吉列有两个梦想;先让世界变得更好,再阻止全世界男性的胡须在黑夜里潜滋暗长。    借助“胡子大兵”行销金世界    一战期间,当吉列创始人金·坎普·吉列看到大胡子的士兵在前线的新闻照片时,他就意识到这里隐藏着一个巨大的市场。士兵们将剃须刀、磨刀的皮条以及磨刀石全都带到战场上非常不方便。1917年4月,吉列以低于成本价的价格同政府签订了有史以来最大的一笔政府采
期刊
中国央行已陷尴尬境地。  过去七年,中国人民银行一直在疯狂地吃进美国方面的资产,买入的美国国债,和房利美/房地美所发行抵押贷款支持证券,总值大约在1万亿美元左右。  如果从美元换算为坚挺的人民币,那么这些投资就是一直在贬值的。这又让人们注意到这家央行资本金基础之薄弱。  现在中国央行需要注资。当然,央行可以多印钞票,但这会加剧通胀。据三位知情人士透露,中国央行已经启动与财政部关于支撑其资本金的商谈
期刊
当你仰望蓝天,你会发现今天的天空和过去不一样,上面翱翔着两只秃鹰。它们从高空冷冷地看着你慢慢流血的身体,一旦你露出弱点和疲惫,它们就会一啸而下,把你吃得干干净净,尸骨无存。  这不是一部西部片,这是今天的产业链超限战(超越实力局限和形式制约的战争)。目前国际金融和产业大鳄正是通过这种手法,席卷全世界资源,使全球通货膨胀,造成各地社会的动荡与不安,这就是财富的原罪,郎成平眼中中国制造业面临的围城困境
期刊
“新鲜食品:带馅面条”等  清 风    您也许吃过山珍海味、鱼翅熊掌,也可能享用过满汉全席、奢华西餐,但您吃过“带馅面条”吗?据了解,带馅面条源于清宫,是御膳房专有食品,因其制作工艺复杂,费工费料,并且是御厨顶级高手手工操作,所以除少数皇族享用外,一股官员和平民百姓根本无缘问津。带馅面条新奇的造型和口感以及它独具的历史渊源和文化内涵,显示了独特的魅力。    项目概况    中国是一个人口大国,
期刊
19岁时,就开始在广播电台兼职,欧普拉一路把自己做成全美收视率最高的电视主持人,创办最大的媒体王国,并几乎成为美国总统候选人奥巴马的竞选伙伴。  54岁的欧普拉,终于在对斯坦福大学毕业生的演讲中,讲述自己这个不漂亮、学历也不好的黑人女性,是怎样面对失败,如何找到快乐的……  过去几周,只要有人问我忙什么?我说:我准备去斯坦福大学演讲。事实上,我连田纳西州立大学都没有毕业。其实,这整个世界,我们所居
期刊
90%的中国人都是酸性体质,酸性体质是百病之源。这个商家与一部分专家造出来的健康“新概念”,正在命中国人的心理软肋。  酸性体质其实是一个彻头彻尾的伪概念,无论西医临床研究还是中医理论,都不承认它的存在。酸性体质只是碱性补充剂生产商在卖弄概念,对健康有害无益。  按照“酸碱体质论”的说法,人必须吃“碱性食物”才能健康。中国营养学会副理事长程义勇说,早在上世纪40年代,有研究食品化学的学者将食物燃烧
期刊
[摘 要]《全国工业用地出让最低价标准》的出台,使得广西工业用地价格大幅提高,广西边境地区招商引资压力增加。而与我国接壤的越南广宁省、谅山省等凭借其在土地价格方面的优势,吸引了较多的投资。本文通过对广西边境地区工业地价分析研究,得出了越南边境地区工业用地价格低于我国边境地区的结论。  [关键词]边境地区;工业用地;价格分析  [中图分类号]F301 [文献标识码]A [文章编号]1005-6432
期刊
摘要:目前电子商务安全是互联网上的首要问题,这就涉及了无线局域网安全漏洞分析。现在无线局域网的技术主要有IEEE802.11、HomeRF和蓝牙。相对于蓝牙、HomeRF等无线技术,基于IEEE802.11的无线局域网正成为当前无线领域中一个引入关注的热点,相应的基于IEEE802.11的无线局域网的安全问题也成为目前人们主要争论的焦点。  关键词:电子商务;IEEE802.11;HomeRF;蓝
期刊
摘要:SA8000标准关注的是人们的更直接、更具体的发展权,通过对人身权益以及与健康、安全、机会平等要素的关注,来调节人类在社会经济活动中的人自身的平等发展关系,体现了国际贸易中的人文关怀。另外,SA8000又使发达国家降低了发展中国家在竞争中的最大比较优势——劳工成本,其本质是发达国家用社会标准替换技术标准,修筑起非关税的贸易壁垒。本文通过分析湖南外贸的发展情况,说明实施SA8000标准的障碍性
期刊