WEB开发网
开发学院软件开发Java 使用 Acegi 保护 Java 应用程序,第 3 部分: 实现... 阅读

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

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 为 Java 对象配置代理如果希望创建 bean 代理,Spring IOC 框架要求您对代理创建器 bean 的实例进行配置,使用 Acegi 保护 Java 应用程序,第 3 部分: 实现对 Java 对象的访问控制(5),Spring 的 IOC 框架使用代理创建器创建代理对象,清单 2

为 Java 对象配置代理

如果希望创建 bean 代理,Spring IOC 框架要求您对代理创建器 bean 的实例进行配置。Spring 的 IOC 框架使用代理创建器创建代理对象。清单 2 为代理创建器 bean 的配置文件,用于保护名为 privateCatalog 的 Java 对象:

清单 2. 代理 bean 配置

<bean id="proxyCreator" 
  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> 
  <property name="beanNames"> 
   <list> 
    <value>privateCatalog</value> 
    <!--Names of other beans to be proxied --> 
   </list> 
  </property> 
  <property name="interceptorNames"> 
   <list> 
     <value>privateCatalogSecurityInterceptor</value> 
    </list> 
  </property> 
</bean> 

如清单 2 所示,<bean> 标记具有一个 class 属性,其值为 org.springframework.aop.framework.autoproxy. BeanNameAutoProxyCreator。BeanNameAutoProxyCreator 类是 Spring IOC 框架的一部分,可以自动创建 bean 代理。Spring 框架提供了 BeanPostProcessor 接口,它提供了一种可扩展机制,允许应用程序编写自己的逻辑来创建 bean 代理。Spring 的 BeanNameAutoProxyCreator 类实现了 BeanPostProcessor 接口并提供所有必需的代理创建逻辑来保护 Java 类。因此,本文中您无需实现 BeanPostProcessor 接口。

在创建 bean 代理时,BeanNameAutoProxyCreator 类为所有由 beanNames 属性定义的 bean 创建代理(参见 清单 2 中 <bean> 标记的第一个 <property> 子元素)。beanNames 属性在 <list> 标记中包含一个 bean 名称列表。在 清单 2 中,我只对希望为之创建代理的 privateCatalog bean进行了配置。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Acegi 保护

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接