快速业务通道

使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
能继续后文的示例。

首先对一些 Java 类进行配置并执行实例化。第 1 部分 曾介绍过,Java 类 在 Spring 的 XML 配置文件中进行配置。在 Spring 配置文件中配置 Java 类 的过程与 Acegi 过滤器的配置过程完全相同,因此这里不多做介绍。相反,我 们将查看清单 1,它展示了名为 publicCatalog 的 bean 的配置:

清单 1. Acegi XML 配置文件

<beans>    <bean id="publicCatalog"      class="com.catalog.PublicCatalog" />    <!--Other bean tags --> <beans>

了解 Spring 的 IOC 框架如何从 XML 配置文件读取 Java 类信息以及如何 进行实例化,这一点非常重要。您可能还记得,我在系列文章的 第 1 部分 中 使用一个 web.xml 文件配置 <listener> 标记,它指向名为 ContextLoaderListener 的类。ContextLoaderListener 装载 Spring 的 IOC 框架并创建 Java 对象。您可以参考 第 1 部分的清单 8 查看全部内容。图 1 也对此进行了描述:

图 1. 装载 Spring 的 IOC 框架并创建 Java 对象

现在我们将详细讨论这些步骤:

当初始化 Acegi 应用程序时,servlet 容器(本例中为 Apache Tomcat)创 建了一个 servlet 上下文,其中保存了有关应用程序资源的信息,例如 JSP 页 面和类。

servlet 容器通知 ContextLoaderListener 类应用程序正在启动。

ContextLoaderListener 类创建一个 Web 应用程序上下文以保存应用程序中 特定于 Spring 的资源信息。借助 Spring 的 IOC 框架,您可以装载自己的自 定义应用程序上下文。要创建应用程序上下文,将使用名为 ContextLoader 的 上下文装载器类装载应用程序上下文。

如果应用程序不需要定义自己的应用程序上下文,则可以使用名为 XMLWebApplicationContext 的类,它是 Spring 框架的一部分并提供可处理 Spring XML 配置文件的功能。Acegi 应用程序使用的是 Spring 的 XML 配置文 件,因此本文仅讨论由 XMLWebApplicationContext 类表示的应用程序上下文。 在本例中,上下文装载器对 XMLWebApplicationContext 类进行实例化,后者表 示您的 Acegi 应用程序的应用程序上下文。上下文装载器还在 Web 应用程序上 下文中设置 servlet 上下文(于步骤 1 中创建)的引用。

XMLWebApplicationContext 类对 XML 配置文件进行解析,获得关于 Java 类的信息并将信息装载到其他内部对象中。

XMLWebApplicationContext 类对 XML 配置文件中指定的所有 Java 类进行 实例化。XMLWebApplicationContext 类检查 XML 配置文件中经过配置的 Java bean 是否依赖其他的 Java 对象。如果是的话,XMLWebApplicationContext 类 将首先对其他 bean 所依赖的 bean 进行实例化。通过这种方式, XMLWebApplicationContext 类创建了 XML 配置文件中定义的所有 bean 的实例 。(注意,步骤 6 假定 XML 配置文件中所有 bean 都不要进行保护,稍后一节 将介绍步骤 5 和步骤 6 之间执行的额外步骤,从而保护对此处创建的 Java bean 的访问)。

XMLWebApplicationContext 类将所有 bean 保存在一个数组中。

您现在已了解到如何从 XML 配置文件中装载 bean 定义并创建 Java 类的实 例。接下来,我将向您介绍 Spring bean 代理并解释它对于保护 Java 类实例 的重要性。

使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制(3)

时间:2011-09-07 ibm Bilal Siddiqui

使用 bean 代理

上一节讨论了 Spring 的 IOC 框架对 Java 对象进行实例化。要保护对 Java 对象的访问,Spring 的 IOC 框架使用了 bean 代理 的概念。本节首先介 绍如何配置 bean 代理,然后演示 Spring 的 IOC 框架如何创建代理对象。

为 Java 对象配置代理

如果希望创建

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