我在春季安全方面有以下概念:
<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;它按预期工作。 (第二次登录时出错)
有什么想法吗?
答案 0 :(得分:0)
如果您使用的是自定义UserDetails
实施,那么您必须在该类中正确定义equals()
和hashcode()
方法
请点击此链接 http://forum.spring.io/forum/spring-projects/security/99166-maximum-sessions-1-does-not-work