时间:2011-01-06 17:36:48

标签: java spring session spring-security invalidation

4 个答案:

答案 0 :(得分:11)

您可能会考虑使用Spring Security Concurrency Control。您可以将其配置为限制每个用户的并发会话数,并在超过该数量时使现有会话到期(踢)。

Spring Security Session Management

这是我们配置的片段(Spring 3):

<http>
    ...
    <session-management>
        <concurrency-control max-sessions="1"/>
    </session-management>
    ...
</http>

答案 1 :(得分:7)

答案 2 :(得分:6)

您还可以执行以下操作来清除SpringSecurity会话:

SecurityContextHolder.clearContext()

答案 3 :(得分:0)

这是从我的application-security.xml中提取的

class="org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy"
        p:maximumSessions="1" <br>
                    **p:exceptionIfMaximumExceeded="true"** >
        <constructor-arg name="sessionRegistry" ref="sessionRegistry" />

尝试在最大会话数

之后以粗体字母添加该行