当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Acegi(七):LogoutFilter配置及几个问题[Java编程]

赞助商链接



  本文“Acegi(七):LogoutFilter配置及几个问题[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

这些天有点懒散, 想的也得振作一下吧. 从最好简单的部份下手, 这样想到Acegi.前段时间的博客里写了acegi的最简单配置, 以及环绕这些简单配置的一点点源码层面的研究. 而实际项目中的配置光这些是不够的, 比方说用户信息及权限还有系统的拜候权限都是要放到数据库里的, 这样在做用户登录与权限认证时就要hit数据库了, 这方面的配置又怎样呢?

不过这篇博客中打算写与数据库扩大相关的话题, 而是先从较为简单的几个Filter开刀.

先看LogoutFilter.

配置很简单.

1, 先配置一个id为 logoutFilter的Bean, 以下所示:

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

2, 把配置好的 logoutFilter加到 filterInvocationDefinitionSource中去, 即改成 "/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor".

3, 在JSP中得当的位置加上 <a href="/myOwnAcegi/j_acegi_logout">退出</a>

几点阐明, 这个的配置很简单的也多少要说有:

1, <constructor-arg value="/login.jsp" />的作用, 用来奉告Acegi当系统退出后跳转到的链接.

2, LogoutFilter构造办法中的第二个参数的作用, 奉告Acegi系统退出后, 都有哪些跟退出相关的action要做.

3, j_acegi_logout的链接, 这个没什么, 跟登录时的" j_acegi_security_check "近似, 都是Acegi自带的, 大多情形下也没什么必要改正.

从追着源码看了它的实现,没什么特别的, 不过有以下几个不太相关的问题:

1, 有没有必要对这个退出单独配置一个拜候时的filterChain, 即另加一个" /j_acegi_logout= httpSessionContextIntegrationFilter, logoutFilter "?如此配置的动身点是这样的,上面配置2种的拜候链接在 logoutFilter之后还有三个filter要通过, 履行时间上有些浪费了, 通过这样配置后, 当用户点"退出"时acegi处理完 logoutFilter后就没什么filter要处理了.

再者说, 也不至于让每一个恳求都通过一次 logoutFilter,虽说 logoutFilter里有这样一个 requiresLogout判断.

这样的配置里能不能不加 httpSessionContextIntegrationFilter? 为什么要加呢? 不是很清楚.

后边看到" sendRedirect(httpRequest, httpResponse, logoutSuccessUrl); "这样的语句, 本来Acegi通过它便可以让恳求链接跳转到

2, LogoutFilter的构造办法有两个参数,String范例的 logoutSuccessUrl和 LogoutHandler[]范例的 handlers. 第一个参数没啥可说的, 第一个参数, 人家要的范例是一个数组, 而Spring里配置时是通过<list>标签来的, Spring内部是怎么转化的? 这是个谎言题, 先不再下钻了.


  以上是“Acegi(七):LogoutFilter配置及几个问题[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Acegi(一):酝酿将近一年后的提高
  • Acegi(二): 苍茫后,写还是不写?
  • Acegi(三):Acegi?Who are you?
  • Acegi(四):Acegi初体验及初解剖
  • <b>Acegi源码研究(五):七剑下天山</b>
  • Acegi源码研究(六):Acegi编码/筹划碎得
  • Acegi(七):LogoutFilter配置及几个问题
  • Acegi(八):securityContextHolderAwareRequestFilter
  • Acegi(九) 子类SavedRequestAwareWrapper
  • <b>Acegi(十):securityContextHolderAwareRequestFilter结</b>
  • Acegi(十一):鉴戒Acegi的Exception的非常处理
  • Acegi(十二):anonymousProcessingFilter有什么好玩的?
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .