问题描述
|
我一直在编写一个Web应用程序,每个用户只能创建一个会话。到目前为止,此方法运行良好。但是,我遇到一个问题,如果我有用户注销,Spring认为该用户仍在登录。我在注销时使用acegi使会话无效,但似乎Spring无法识别:
<security:logout invalidate-session=\"true\"
success-handler-ref=\"logout\"
logout-url=\"/logout.html\" />
因此,我的问题是:是否存在必须使无效的单独的spring会话,如果是这种情况,我应该如何做呢?
提前致谢。
镜射命运
解决方法
如果您要问Acegi和SpringMVC是否使用相同的会话,那么答案是肯定的,他们会这样做。您可能想在处理“ 1”的控制器中手动使会话无效。
更新
如OP在下面的注释中所述,要使身份验证对象无效,请使用:
SecurityContextHolder.getContext().setAuthentication(null);