快速业务通道

使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
Acegi 立即调用 APF。

Default target URL 指定了成功进行身份验证和授权后呈现给用户的页面。

Authentication failure URL 指定了身份验证失败情况下用户看到的页面。

APF 从用户的请求对象中得到用户名、密码和其他信息。它将这些信息传送 给身份验证管理器。身份验证管理器使用适当的提供者从后端用户库中读取详细 的用户信息(如用户名、密码、电子邮件地址和用户访问权利或特权),对用户 进行身份验证,并将信息存储在一个 Authentication 对象中。

最后,APF 将 Authentication 对象保存在 SIF 之前创建的安全上下文中。 存储在安全上下文中的 Authentication 对象将用于做出授权决策。

APF 的配置如清单 3 所示:

清单 3. 配置 APF

<bean id="authenticationProcessingFilter"    class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">   <property name="authenticationManager"      ref="authenticationManager" />   <property name="filterProcessesUrl"     value="/j_acegi_security_check" />   <property name="defaultTargetUrl"      value="/protected/protected1.jsp" />   <property name="authenticationFailureUrl"     value="/login.jsp? login_error=1" /> </bean>

可以从这段代码中看到,APF 依赖于上面讨论的这四个参数。每个参数都是 作为清单 3 所示的 <property> 标记配置的。

Logout Processing Filter

Acegi 使用一个 Logout Processing Filer(LPF)管理注销处理。当客户机 发来注销请求时,将使用 LPF 进行处理。它标识了来自由客户机所调用 URL 的 注销请求。

LPF 的配置如清单 4 所示:

清单 4. 配置 LPF

<bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">    <constructor-arg value="/logoutSuccess.jsp"/>    <constructor-arg>     <list>        <bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>< BR>    </list>   </constructor- arg> </bean>

使用Acegi保护Java应用程序,第1部分: 架构概览和安全过滤器(5)

时间:2011-09-07 Bilal Siddiqui

可以看到 LPF 在其构造方法中包含两个参数:注销成功 URL (/logoutSuccess.jsp)和处理程序列表。注销成功 URL 用来在注销过程完成 后重定向客户机。处理程序执行实际的注销过程;我在这里只配置了一个处理程 序,因为只需一个处理程序就可以使 HTTP 会话变为无效。我将在本系列下一篇 文章中讨论更多的处理程序。

Exception Translation Filter

Exception Translation Filter(ETF)处理身份验证和授权过程中的异常情 况,比如授权失败。在这些异常情况中,ETF 将决定如何进行操作。

比如,如果一个没有进行身份验证的用户试图访问受保护的资源,ETF 将显 示一个登录页面要求用户进行身份验证。类似地,在授权失败的情况下,可以配 置 ETF 来呈现一个 Access Denied 页面。

ETF 的配置如清单 5 所示:

清单 5. 配置 ETF

<bean id="exceptionTranslationFilter"    class="org.acegisecurity.ui.ExceptionTranslationFilter">    <property name="authenticationEntryPoint">      <bean        class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntry Po

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号