【问题标题】:Maximum concurrent users in Spring SecuritySpring Security 中的最大并发用户数
【发布时间】:2014-10-16 15:32:00
【问题描述】:
我在我的项目中使用 Spring Security 3.0,并且我限制用户最多只能有一个会话。配置如下:
<security:session-management>
<security:concurrency-control error-if-maximum-exceeded="true" max-sessions="1"/>
</security:session-management>
当达到最大会话时,我想打印自定义消息(不是 spring 默认提供的)。请帮忙。
提前致谢!!
【问题讨论】:
标签:
java
spring
spring-security
【解决方案1】:
请将其保存在您的messages.properties
ConcurrentSessionControlStrategy.exceededAllowed=This account is already using by someone.
它将显示“此帐户已被某人使用”。你可以给任何你想要的。
别忘了配置Resourcebundle
【解决方案2】:
expired-url 应该是你需要的。
在spring security的配置中
<security:concurrent-session-control
max-sessions="1" exception-if-maximum-exceeded="true" expired-url="/loginform.do" />
还在 web.xml 中添加以下监听器。
org.springframework.security.web.session.HttpSessionEventPublisher
【解决方案3】:
spring-security-3.2.0,message.properties:
ConcurrentSessionControlAuthenticationStrategy.exceededAllowed = 超出此主体的 {0} 的最大会话数