acegi是否使用与Spring不同的会话?

时间:2011-06-09 22:22:16

标签: java spring spring-security

我一直在编写一个只为每个用户创建一个会话的Web应用程序。到目前为止,这一点运作良好。但是,我遇到了一个问题,如果我有用户注销,Spring认为用户仍然登录。我在注销时使用acegi使会话无效,但似乎Spring没有认识到:

    <security:logout invalidate-session="true"
                success-handler-ref="logout"
                logout-url="/logout.html" />

所以,我的问题是:是否存在一个我必须无效的单独的春季会议,如果是这样的话,我应该怎么做呢?

提前致谢。 MirroredFate

1 个答案:

答案 0 :(得分:2)

如果您在询问Acegi和SpringMVC是否使用相同的会话,那么答案是肯定的,他们会这样做。您可能希望手动使处理/logout.html的控制器中的会话无效。

<强>更新

正如OP在下面的评论中提到的那样,要使身份验证对象无效:

SecurityContextHolder.getContext().setAuthentication(null);