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

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

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 在 清单 6 可以看到,我在两个 IOC bean 中对实际的公共和私有数据进行了硬编码,使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean(7),在真实的应用程序中,这些 bean 将会从数据库读取数据,它发现 catalog bean 的

在 清单 6 可以看到,我在两个 IOC bean 中对实际的公共和私有数据进行了硬编码。在真实的应用程序中,这些 bean 将会从数据库读取数据。

现在已经看到了保护 JSP 托管 bean 中包装的数据所需要的所有组件和配置,下面看一下 JSF 和 Acegi 如何协作使用这些组件和配置。

JSF 和 Acegi 协作保护托管 bean

当用户试图访问 清单 2 的 JSF 页面时,就会发生 图 1 所示的一系列事件。我列出了支持 Acegi URL 安全性和 JSF 应用程序中的 bean 安全性的所有事件。

图 1. JSF 和 Acegi 组件协作
使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean

图 1 所示的事件顺序如下:

用户访问 JSF 页面。

Acegi 检查该用户是否有权访问该 JSF 页面。(请参阅 第 4 部分 的 “处理对受 Acegi 保护的 JSF 页面的请求” 一节。)

如果授权过程成功,则将控制权转到 faces servlet,由它准备提供 JSF 页面。

在准备期间,JSF 找到 清单 2 所示的 JSF 页面中的 catalog bean。

JSF 检查 清单 3 所示的配置文件,查找 catalog bean 的定义并将其实例化。JSF 还在配置文件中检查 catalog bean 的属性。它发现 catalog bean 的 publicData 和 privateData 属性被映射到 publicCatalog 和 privateCatalog bean,清单 3 中未将这两个 bean 配置为 JSF 托管 bean。

JSF 使用 Spring 的 DelegatingVariableResolver 变量解析器(在 清单 4 中配置)解析 publicCatalog 和 privateCatalog bean。

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

Tags:使用 Acegi 保护

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