有时希望限制同一个账号同时只能有 1 个用户登陆,通常为后一次登录将使前一次登录失效。Spring Security 的 session-management为我们提供了这种限制:
在 web.xml 中定义监听器 HttpSessionEventPublisher
1
2
3<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>通过 concurrency-control 来限制账号登陆数
1
2
3
4
5
6<http auto-config="true">
...
<session-management>
<concurrency-control max-sessions="1"/>
</session-management>
</http>