当前位置:

免费论文网首页 > 计算机论文 > 计算机应用 >


实现基于Spring框架应用的权限控制系统

http://www.MianFeiLunWen.com  免费论文网  黎小红 2007-4-15 12:34:27 
------------------------------------------[发送]-[打印]-[投稿]-[VIP]---------------
  由于URL资源请求安全拦截是借助于过滤器进行的。因此首先要配置Acegi Servlet过滤器。过滤器类似于AOP Around装备,实现在web资源调用前后进行的一些操作6种过滤器,他们依次构成Servlet过滤器链,依次处理客户请求。需要注意的是过滤器配置的顺序是不能交换的,当不需要使用某个过滤器时,可直接将其删除和注释。过滤器在web.xml中配置形式为


<filter>
 <filter-name>Acegi HTTP Request Security Filter</filter-name>
 <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
 <init-param>
  <param-name>targetClass</param-name>
  <param-value>
   Org.acegisecurity.intercept.web.SecurityEnforcementFilter
  </param-value>
 </init-param>
</filter>
<filter-mapping>
 <filter-name>Acigi HTTP Request Security Filter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

 在spring applicationContext.xml文件中的配置形式为

<bean id=”securityEnforcementFilter” class=””>
 <property name=”filterSecurityInterceptor”>
  <ref bean=”filterInvocationInteceptor”/>
 </property>
 <property name=”authenticationEntryPoint”>
  <ref bean=”authenticationProcessingFilterEntryPoint”/>
 </property>

以上代码是SecurityEnforcementFilter的配置,该过滤器对用户是否有权访问web资源作出最后的决定。其它的过滤器的配置类同。
配置完过滤器后,需要对拦截器FilterSecurityInterceptor进行配置,


<bean id=”filterInvocationInterceptor”
Class=””>
 <property name=”authenuserCacheticationManager”>1
 <property name=”accessDecisionManager”>
 <property name=”objectDefinitionSource”>
  <ref local="filterObjectDefinitionSource"/>
 </property>
<bean id="filterObjectDefinitionSource"
class="org.xiaohongli.acegi.db.DBFilterObjectDefinitionSource">
 <constructor-arg><refbean="jdbcTemplate"/>
 </constructor-arg>
</bean>

objectDefinitionSource属性定义了那些受保护的URL资源,其中引用了一个本地对象filterObjectDefinitionSource。filterObjectDefinitionSource类从数据库中读取需要保护的URL安全信息,它扩展了PathBasedFilterInvocationDefinition Map类。
同样,实现了另外一个methodObjectDefinitionSource类从数据库中读取需要保护的FUNCTION资源,它扩展了MethodDefinitionMap类。限于篇幅,在这里就不列出具体实现的源代码。

<bean id="methodObjectDefinitionSource"
class="org.xiaohongli.acegi.db.DBMethodObjectDefinitionSource">
<constructor-arg><refbean="jdbcTemplate"/>
</constructor-arg>
</bean>

  结束语
  由于Spring在越来越多的项目中的应用,因此基于Spring应用的安全控制系统的研究就显得非常重要。Acegi提供了对Spring应用安全的支持,然而 Acegi本身提供的实例并不能满足大规模的复杂的权限需求,本文通过扩展Acegi的数据库设计即可满足复杂的权限需求。然而,怎样将Acegi应用到非Spring的系统中,还有待进一步研究。

本篇论文共3页,当前在第3页  1  2  3  

-------------------------------------------------------[发送]-[打印]-[投稿]-[VIP]--
上一篇:Linux操作系统下以太网卡的安装及配置
下一篇:Spring框架的事务管理应用分析
会员名称:
 密码:匿名 ·注册·密码?
评论内容:
(最多300个字符)
  查看评论
论文发表
·论文网在线最新代理刊物清单
·国家级刊物《现代商贸工业》 征稿
·国家级经济类刊物《消费导刊》征
·《**大学学报》大量征稿,欢迎投
·《**教育》期刊征稿中,请点击查看
热点推荐
·房地产业与泡沫经济
·新形势下中国对外贸易应采取的有
·浅谈新所得税法对外资企业的影响
·市场经济负面效应及其控制
·网络环境/标引深度/创新关键词
·谈小学各学科教育中对德育教育的
·论债与责任的融合与分离
·加强会计职业道德建设促进会计行
·对当前房地产案件中几个常见问题
·利用Web Services实现软件自动升
最新更新
·“拓展训练”在高校体育教学中的
·谈小学各学科教育中对德育教育的
·勤俭节约办高校图书馆的几点浅见
·谈小学各学科教育中对德育教育的
·农村中小学音乐教育的现状与对策
·探索物理实验在教学中的地位再现
·烟塔合一技术应用前景分析
·烟粉虱的种下变异和我国的分布现
·多边贸易体制下我国农产品贸易发
·对当前房地产案件中几个常见问题
赞助连接
内容加载中请耐心等待 ...