如果限制一个用户在同一时间只能登陆程序一次,Spring Security通过下面简单的配置实现这个功能。首先,你需要把下面的监听器添加到你的web.xml中,让Spring Security获得session生存周期时间。
<listener> <listener-class>
org.springframework.security.ui.session.HttpSessionEventPublisher </listener-class> </listener>
然后,在你的application_context.xml加入如下部分:
<http> ... <concurrent-session-control max-sessions="1" /> </http>
这样可以防止一个用户重复登陆好多次,如果第二次登陆,则会让第一次登陆强行下线。同城我们可以使用下面的配置避免这种情况发生。
<http> ... <concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/> </http>
其它的登录将失败。