使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制 - 编程入门网
制所需的代理对象。
Cglib2AopProxy 类实现了两个名为 AOPProxy 和 MethodInterceptor 的接 口。AOPProxy 接口由 Spring 框架提供,表示您希望进行代理的实际 bean,因 此它与您的 bean 公开相同的方法。MethodInterceptor 接口也源于 AOP 框架 ,它包含的方法可以在用户试图访问您已执行代理的 bean 时接受控制权。这意 味着 MethodInterceptor 接口处理来自用户的请求以访问执行过代理的 bean。 由于 Cglib2AopProxy 类同时实现了 AOPProxy 和 MethodInterceptor 接口, 因此它提供了完整的功能,既可以提供经过代理的 bean,也可以处理用户请求 以访问代理 bean。 执行完前面的步骤后,您现在具有了所需的代理对象。因此 XMLWebApplicationContext 类将安全 bean 的代理(而不是实际的 bean)保存 在 “使用 Spring 创建 Java 对象” 的步骤 7 中的同一个数组中。 访问执行过代理的 Java 对象 在前面的几节中,您了解了 Spring 如何创建公有 bean 和私有 bean。出于 本文的目的,您可将公有 bean 视为使用代理保护的不安全的私有 bean。现在 我们来看一下客户机应用程序为访问公有 bean 和私有 bean 而必须遵循的一系 列步骤。 清单 3 展示了 publicCatalog 和 privateCatalog 两个 bean 的 XML 配置 。publicCatalog bean 意味着公共访问,因此不需要使用 bean 代理。 privateCatalog bean 意味着只能由指定用户访问,因此必须加以保护。我在清 单 3 中包含了 privateCatalog bean 的 bean 代理配置: 清单 3. publicCatalog 和 privateCatalog bean 的 XML 配置
使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制(5)时间:2011-09-07 ibm Bilal Siddiqui应用程序可以使用清单 4 中的代码访问清单 3 中配置的 publicCatalog 和 privateCatalog Java bean。注意,清单 4 中显示的 Java 代码可位于 JSP 页 面或位于服务器端 Java 应用程序的 bean 中。 清单 4. 访问安全和不安全 Java bean 的客户机应用程序代码
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |