[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>
时间: 2024-11-08 19:15:04