使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制 - 编程入门网
//Step 4: Fetching a secure bean from the application context
PrivateCatalog privateCatalog =
(PrivateCatalog) applicationCtx.getBean ("privateCatalog");
//Step 5: Calling a method of the secure bean
String privateData = privateCatalog.getData();
下面将进一步讨论清单 4 中的步骤: 步骤 1:取回一个应用程序上下文实例 当应用程序希望访问 XML 配置文 件中配置的 Java bean 时,它必须取回您在 “使用 Spring 创建 Java 对象” 的步骤 4 中见到的 XMLWebApplicationContext 对象。 XMLWebApplicationContext 对象包含对 XML 配置文件配置的所有 Java beans 的引用。 步骤 2:从应用程序上下文中取回不安全的 bean 您现在具有一个对 XMLWebApplicationContext 对象的引用。XMLWebApplicationContext 类公开了 一个 getBean() 方法,它包含 bean 的名称并在数组中查找 “使用 Spring 创 建 Java 对象” 步骤 7 中准备的 bean。在本例中,该 bean 为 publicCatalog(未执行过代理),因此 XMLWebApplicationContext 将返回实 际的 bean。 步骤 3:调用不安全 bean 的方法 现在您可以调用步骤 2 中获得的 publicCatalog bean 的任何方法。例如,清单 4 显示的 getData() 方法调用 的执行没有应用任何访问控制并向应用程序返回类别数据。 步骤 4:从应用程序上下文取回安全 bean 安全 bean 与不安全 bean 的 取回方式类似,惟一区别是:当您通过调用 getBean() 方法尝试取回安全 bean 时,您将获得安全对象的代理而不是实际的对象。该代理就是我在 “Spring IOC 发挥效用” 步骤 4 中解释的由 Spring 框架创建的同一个对象。 使用Acegi保护Java应用程序,第3部分: 实现对Java对象的访问控制(6)时间:2011-09-07 ibm Bilal Siddiqui步骤 5:调用安全 bean 的方法 当调用安全 bean 的方法时,您在 步骤 4 中获得的代理对象将一个方法调用请求分配给******。******将检查试图访问 方法的用户是否具有相应的访问权,从而处理方法调用请求。 您现在应该对 Spring 框架如何创建 Java 对象以及客户机应用程序如何与 之交互有了清晰的了解。了解了这些内容后,就更加容易理解并利用 Acegi 的 方法安全性******,下一节将具体介绍该主题。 配置 Acegi 的方法安全性****** 只要应用程序试图访问由 Acegi 安全系统保护的 bean 方法,请求将被自动 传递到 Acegi 的方法安全性******。方法安全性******的作用就是控制对安全 Java bean 的方法的访问。******使用 Acegi 的身份验证和授权框架确认用户 是否具有权利调用安全 Java bean 的方法,然后相应地作出响应。 清单 5 展示 Acegi 的方法安全性******的示例配置: 清单 5. Acegi 的方法安全性******的示例配置
清单 5 所示的拦截 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |