使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器 - 编程入门网
int">
<property name="loginFormUrl" value="/login.jsp" />
</bean>
</property>
<property name="accessDeniedHandler">
<bean class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
<property name="errorPage" value="/accessDenied.jsp" />
</bean>
</property>
</bean>
正如清单 5 所示,ETF 包含两个参数,名为 authenticationEntryPoint 和 accessDeniedHandler。authenticationEntryPoint 属性指定登录页面,而 accessDeniedHandler 指定 Access Denied 页面。 拦截过滤器 Acegi 的拦截过滤器 用于做出授权决策。您需要在 APF 成功执行身份验证 后对拦截过滤器进行配置,以使其发挥作用。拦截器使用应用程序的访问控制策 略来做出授权决定。 本系列的下一篇文章将展示如何设计访问控制策略,如何将它们托管在目录 服务中,以及如何配置 Acegi 以读取您的访问控制策略。但是,目前我将继续 向您展示如何使用 Acegi 配置一个简单的访问控制策略。在本文后面的部分, 您将看到使用简单的访问控制策略构建一个样例应用程序。 配置简单的访问控制策略可分为两个步骤: 编写访问控制策略。 根据策略配置 Acegi 的拦截过滤器。 步骤 1. 编写简单的访问控制策略 首先看一下 清单 6,它展示了如何定义一个用户及其用户角色: 清单 6. 为用户定义简单的访问控制策略
清单 6 所示的访问控制策略定义了用户名 alice,它的密码是 123,角色是 ROLE_HEAD_OF_ENGINEERING。(下一节将说明如何在文件中定义任意数量的用户 及其用户角色,然后配置拦截过滤器以使用这些文件。) 使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器(6)时间:2011-09-07 Bilal Siddiqui步骤 2. 配置 Acegi 的拦截过滤器 拦截过滤器使用三个组件来做出授权决策,我在清单 7 中对其进行了配置: 清单 7. 配置拦截过滤器
如清单 7 所示,配置所需的三个组件是 authenticationManager、 accessDecisionManager、objectDefinitionSource: authenticationManager 组件与我在介绍 Authentication Processing Filter 时讨论过的身份验证管理器相同。拦截过滤器可以在授权的过程中使用 authenticationManager 重新对客户机进行身份验证。 accessDecisionManager 组件管理授权过程,这部分内容将在本系列的下篇 文章中详细讨论。 objectDefinitionSource 组件包含对应于将要发生的授权的访问控制定义。 例如,清单 7 中的 objectDefinitionSource 属性值包含两个 URL (/protected/* 和 /*)。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |