新工作节奏较快,所以不太更新blog了。最近编写了iBaits code conventions以及junit best practice,很高兴团体可以按照敏捷和tdd的路子进步下去。有需要这两个东东的朋友可以发邮向我要。
acegi出了0.8,改动还真不少,原先0.7的应用,改了一个多小时才完全升级成功。备忘一下:
1 最贴心的改变莫过于 filter chains可以放在spring 容器中加载了,再也不用在web.xml中声明长长的一串filter了。例如:
<bean id="filterChainProxy" class="net.sf.acegisecurity.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,......
</value>
</property>
</bean>
2 HttpSessionIntegrationFilter 已经消失,使用net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter取而代之,如:
<bean id="httpSessionContextIntegrationFilter" class="net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter">
<property name="context"><value>net.sf.acegisecurity.context.security.SecureContextImpl</value></property>
</bean>
这个"context"属性不可不设哟。
3 新增了一个功能,可以在web.xml中声明一个HttpSessionEventPublisher context listener,想想Spring的现在还不很成熟的消息发布机制(AOP),主要是用来记日志。我暂时还没用到这个功能。
结论:acegi很强,不过也很烦,这一次0.1的升级就让我折腾了一个多小时,哎。