[Spring][scurity]同步session控制,防止一个用户多次登录
如果你希望限制单个用户只能登录到你的程序一次,Spring Security通过添加下面简单的部分支持这个功能。
1、你需要把下面的监听器添加到你的web.xml文件里,让Spring Security获得session生存周期事件:
<listener>
<listener-class>
org.springframework.security.ui.session.HttpSessionEventPublisher
</listener-class>
</listener>
2、控制单个用户只能登录到你的程序一次的两种控制手段
2.1、第二次登录会让第一次登录失效。
然后,在你的application_context加入如下部分:
<http>
...
<concurrent-session-control max-sessions="1" />
</http>
2.2、防止第二次登录时报错、第二次登录将被阻止。
<http>
...
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>
</http>