spring security 同步session控制,防止一个用户多次登录
原文http://www.rsky.com.cn/Article/java/201006/11896.html
?
如果你希望限制单个用户只能登录到你的程序一次,Spring Security通过添加下面简单的部分支持这个功能。 首先,你需要把下面的监听器添加到你的web.xml文件里,让Spring Security获得session生存周期事件:?
<listener>
? <listener-class>
org.springframework.security.ui.session.HttpSessionEventPublisher
</listener-class>
</listener>
然后,在你的application_context加入如下部分:?
<http>
??? ...
??? <concurrent-session-control max-sessions="1" />
? </http>
这将防止一个用户重复登录好几次-第二次登录会让第一次登录失效。 通常我们更想防止第二次登录,这时候我们可以使用?
<http>
??? ...
??? <concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>
? </http>
第二次登录将被阻止。