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

使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 清单 2 使用了两个 JSF <outputText> 标签,第一个 <outputText> 标签有一个 #{catalog.publicData} 的 value 属性,使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaB

清单 2 使用了两个 JSF <outputText> 标签。第一个 <outputText> 标签有一个 #{catalog.publicData} 的 value 属性,第二个标签有一个 #{catalog.privateData} 的 value 属性。这两个标签使用 catalog bean 的 publicData 和 privateData 属性,它们分别提供公共和私有的编目数据。

在 第 3 部分 的 “访问执行过代理的 Java 对象” 小节中,我配置了两个 Acegi bean,分别名为 publicCatalog 和 privateCatalog。现在我要将第 3 部分的 publicCatalog bean(不受保护的供公共访问的 bean)映射到 catalog bean 的 publicData 属性。类似的,将第 3 部分的 privateCatalog(在 第 3 部分 的清单 3 中配置的受保护且执行过代理的 bean)映射到上面 清单 2 的托管 bean catalog 的 privateData 属性。映射完成后,catalog bean 就会充当 JSF 编目应用程序的公共和私有数据的包装器。

定义托管 bean

清单 3 演示了如何定义 catalog bean,以便将它的 publicData 和 privateData 属性分别映射到 Acegi 的 publicCatalog 和 privateCatalog bean:

清单 3. 将 catalog 的属性映射到 Acegi 的 bean

<?xml version="1.0"?> 
<!DOCTYPE faces-config PUBLIC 
 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" 
 "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> 
 
<faces-config> 
 
 <managed-bean> 
   <managed-bean-name>catalog</managed-bean-name> 
   <managed-bean-class>sample.Catalog</managed-bean-class> 
   <managed-bean-scope>request</managed-bean-scope> 
 
   <managed-property> 
    <property-name>publicData</property-name> 
    <value>#{publicCatalog.data}</value> 
   </managed-property> 
 
   <managed-property> 
    <property-name>privateData</property-name> 
    <value>#{privateCatalog.data}</value> 
   </managed-property> 
 </managed-bean> 
 
 <application> 
   <variable-resolver> 
    org.springframework.web.jsf.DelegatingVariableResolver 
   </variable-resolver> 
 </application> 
 
</faces-config> 

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

Tags:使用 Acegi 保护

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