Spring security - exceptionIfMaximumExceeded = false不杀死最旧的会话

时间:2015-06-02 13:58:37

标签: java spring session spring-mvc spring-security

我在春季安全方面有以下概念:

 <bean  class="org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy">
                <constructor-arg ref="clusteredSessionRegistryImpl" />
                <property name="maximumSessions" value="1" />
                <property name="exceptionIfMaximumExceeded" value="false" />
            </bean>

现在,根据文档 - 此配置应允许用户一次又一次地登录,而每次登录都会使最旧的会话无效(如果存在)。这不起作用,我可以从同一用户名多次登录。每次创建一个新会话但​​不会发生失效。

p.s如果我将exceptionIfMaximumExceeded更改为&#34; True&#34;它按预期工作。 (第二次登录时出错)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是自定义UserDetails实施,那么您必须在该类中正确定义equals()hashcode()方法

请点击此链接 http://forum.spring.io/forum/spring-projects/security/99166-maximum-sessions-1-does-not-work