在用户登录系统,进行完业务操作完毕后,肯定是退出系统。同样,Spring Acegi也为我们做好一个系统退出配置。
修改项目代码如下:
在配置文件applicationContext-acegi-plugin.xml中修改代码如下:
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilter
</value>
</property>
</bean>
添加代码如下:
<!-- 系统后置处理配置 -->
<bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
<constructor-arg>
<list>
<bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
</list>
</constructor-arg>
<constructor-arg value="/index.jsp"/>
<property name="filterProcessesUrl" value="/j_acegi_logout"/>
</bean>
在main.jsp中添加代码如下:
<A href="<c:url value="/j_acegi_logout"/>">退出系统</A>
注意:配置文件j_acegi_logout一定要匹配。