用户注销时会话无效(Spring)

Posted

技术标签:

【中文标题】用户注销时会话无效(Spring)【英文标题】:Invalid a session when user makes logout (Spring) 【发布时间】:2012-01-21 00:19:22 【问题描述】:

假设用户 A 在不同的机器上有多个登录(已登录)。当他在一台机器上注销时,其他会话应该会自动重定向到登录页面。

我如何在 Spring Security 中实现这一点? 现在,我在 security.xml 上有了 http 配置

<http auto-config="true" use-expressions="true">
    <anonymous />
    <intercept-url pattern="/login.do" access="permitAll" />
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
    <form-login login-page="/login.do" />
    <logout logout-url="/j_spring_security_logout"
        success-handler-ref="myLogoutSuccessHandler" />
    <remember-me data-source-ref="dataSource" />

</http>

【问题讨论】:

【参考方案1】:

我建议您查看 SessionRegistry 。您可以查看此 here 。 Is it possible to invalidate a spring security session? 对此进行了讨论。也看看这个

Spring 会话存储为 JsessionID cookie。查看here 了解有关删除 cookie 的讨论。

【讨论】:

以上是关于用户注销时会话无效(Spring)的主要内容,如果未能解决你的问题,请参考以下文章

注销时如何使用户会话无效?

使Java HTTP会话无效以重定向到其他服务器,而无需将用户注销

如何记录 tomcat 会话失效或用户注销

通过 RESTful 调用注销用户(使会话无效)

Spring Security 注销会话未失效

java spring boot / spring security(HttpSecurity)中的会话到期时如何自动注销