答案 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" />
尝试在最大会话数
之后以粗体字母添加该行