实现基于Spring框架应用的权限控制系统(2)
作者:佚名; 更新时间:2014-12-05

<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
class="org.xiaohongli.acegi.db.DBFilterObjectDefinitionSource">
 <constructor-arg><refbean="jdbcTemplate"/>
 </constructor-arg>
</bean>


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

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


  结束语

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

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com