快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
gt; 标记都代表一个 Acegi 组件。

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

时间:2011-09-07 Bilal Siddiqui

进一步解释 XML 配置文件

首先将注意到的是每个 <bean> 标记都包含一个 class 属性,这个属 性标识组件所使用的类。<bean> 标记还具有一个 id 属性,它标识作为 Acegi 组件工作的实例(Java 对象)。

比方说,清单 1 的第一个 <bean> 标记标识了名为 filterChainProxy 的组件实例,它是名为 org.acegisecurity.util.FilterChainProxy 的类的实例。

使用 <bean> 标记的子标记来表示 bean 的依赖关系。比如,注意第 一个 <bean> 标记的 <property> 子标记。<property> 子 标记定义了 <bean> 标记依赖的其他 bean 或值。

所以在 清单 1 中,第一个 <bean> 标记的 <property> 子标 记具有一个 name 属性和一个 <value> 子标记,分别定义了这个 bean 依赖的属性的名称和值。

同样,清单 1 中的第二个和第三个 <bean> 标记定义了一个过滤器 bean 依赖于一个管理器 bean。第二个 <bean> 标记表示过滤器 bean, 而第三个 <bean> 标记表示管理器 bean。

过滤器的 <bean> 标记包含一个 <property> 子标记,该子标 记具有两个属性:name 和 ref。name 属性定义了过滤器 bean 的属性,而 ref 属性引用了管理器 bean 的实例(名称)。

下一节将展示如何在 XML 配置文件中配置 Acegi 过滤器。在本文后面的内 容中,您将在一个样例 Acegi 应用程序中使用过滤器。

安全过滤器

正如我前面提到的一样,Acegi 使用安全过滤器为企业应用程序提供身份验 证和授权服务。您可以根据应用程序的需要使用和配置不同类型的过滤器。这一 节将介绍五种最重要的 Acegi 安全过滤器。

Session Integration Filter

Acegi 的 Session Integration Filter(SIF)通常是您将要配置的第一个 过滤器。SIF 创建了一个安全上下文对象,这是一个与安全相关的信息的占位符 。其他 Acegi 过滤器将安全信息保存在安全上下文中,也会使用安全上下文中 可用的安全信息。

SIF 创建安全上下文并调用过滤器链中的其他过滤器。然后其他过滤器检索 安全上下文并对其进行更改。比如,Authentication Processing Filter(我将 稍后进行介绍)将用户信息(如用户名、密码和电子邮件地址)存储在安全上下 文中。

当所有的处理程序完成处理后,SIF 检查安全上下文是否更新。如果任何一 个过滤器对安全上下文做出了更改,SIF 将把更改保存到服务器端的会话对象中 。如果安全上下文中没有发现任何更改,那么 SIF 将删除它。

在 XML 配置文件中对 SIF 进行了配置,如清单 2 所示:

清单 2. 配置 SIF

<bean id="httpSessionContextIntegrationFilter"    class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/ >

Authentication Processing Filter

Acegi 使用 Authentication Processing Filter(APF)进行身份验证。APF 使用一个身份验证(或登录)表单,用户在其中输入用户名和密码,并触发身份 验证。

APF 执行所有的后端身份验证处理任务,比如从客户机请求中提取用户名和 密码,从后端用户库中读取用户参数,以及使用这些信息对用户进行身份验证。

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

时间:2011-09-07 Bilal Siddiqui

在配置 APF 时,您必须提供如下参数:

Authentication manager 指定了用来管理身份验证提供者的身份验证管理器 。

Filter processes URL 指定了客户在登录窗口中按下 Sign In 按钮时要访 问的 URL。收到这个 URL 的请求后,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号