快速业务通道

使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
访问控制策略。

正如这个列表显示的那样,Acegi 的安全过滤器允许您执行保护企业应用程 序所需的几乎任何事情。

使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器(2)

时间:2011-09-07 Bilal Siddiqui

架构和组件

对 Acegi 了解越多,使用起来就越简单。这一节介绍 Acegi 的组件;接下 来您将了解该框架如何使用反转控制(IOC)和 XML 配置文件来组合组件并表示 它们的依赖关系。

四大组件

Acegi Security System 由四种主要类型的组件组成:过滤器、管理器、提 供者和处理程序。

过滤器 这种最高级的组件提供了常见的安全服务,如身份验证、会话处理以 及注销。我将在 本文后面的部分 深入讨论过滤器。 管理器 过滤器仅是安全相 关功能的高级抽象:实际上要使用管理器和提供者实现身份验证处理和注销服务 。管理器管理由不同提供者提供的较低级的安全服务。 提供者 有大量的提供者 可用于和不同类型的数据存储服务通信,例如目录服务、关系数据库或简单的内 存中的对象。这意味着您可以将用户库和访问控制协议存储在任何一种这样的数 据存储服务中,并且 Acegi 的管理器将在运行时选择合适的提供者。 处理程序 有时任务可能会被分解为多个步骤,其中每个步骤由一个特定的处理程序执行。 比方说,Acegi 的 注销过滤器 使用两个处理程序来退出一个 HTTP 客户机。其 中一个处理程序使用户的 HTTP 会话无效,而另一个处理程序则删除用户的 cookie。当根据应用程序需求配置 Acegi 时,多个处理程序能够提供很好的灵 活性。您可以使用自己选择的处理程序来执行保护应用程序所需的步骤。

反转控制

Acegi 的组件通过彼此之间的依赖来对企业应用程序进行保护。比如,一个 身份验证处理过滤器需要一个身份验证管理器选择一个合适的身份验证提供者。 这就是说您必须能够表示和管理 Acegi 组件的依赖关系。

IOC 实现通常用于管理 Java 组件之间的依赖关系。IOC 提供了两个重要的 特性:

它提供了一种语法,表示应用程序所需的组件以及这些组件如何相互依赖。

它保证了所需的组件在运行时是可用的。

XML 配置文件

Acegi 使用 Spring 框架(请参见 参考资料)附带的流行开源 IOC 实现来 管理其组件。Spring 需要您编写一个 XML 配置文件来表示组件的依赖关系,如 清单 1 所示:

清单 1. Spring 配置文件的结构

<beans>   <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">      <property name="filterInvocationDefinitionSource">        <value> value here </value>      </property>   </bean>   <bean id="authenticationProcessingFilter"      class="org.acegisecurity.ui.webapp.AuthenticationProcessingFitler">     <property name="authenticationManager" ref="authManager"/>     <!-- Other properties -->   </bean>   <bean id="authManager"      class="org.acegisecurity.providers.ProviderManager">      <property name="providers">       <!-- List of providers here -->     </property>    </bean>   <!-- Other bean tags -- > </beans>

如您所见,Acegi 使用的 Spring XML 配置文件包含一个 <beans> 标 记,它封装了一些其他的 <bean> 标记。所有的 Acegi 组件(即过滤器 、管理器、提供者等)实际上都是 JavaBean。XML 配置文件中的每个 <bean&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号