Spring Security中的最大并发用户数

时间:2011-12-30 10:01:32

标签: java spring spring-security

我在我的项目中使用Spring Security 3.0,我限制用户最多只能有一个会话。配置如下:

<security:session-management>
            <security:concurrency-control error-if-maximum-exceeded="true" max-sessions="1"/>
</security:session-management>

我希望在达到最大会话时打印自定义消息(不是spring提供的默认消息)。请帮忙。

提前致谢!!

3 个答案:

答案 0 :(得分:2)

expired-url应该是您所需要的。 在弹簧安全配置中

<security:concurrent-session-control
  max-sessions="1" exception-if-maximum-exceeded="true" expired-url="/loginform.do" />

还在web.xml中添加以下侦听器。

org.springframework.security.web.session.HttpSessionEventPublisher 

答案 1 :(得分:2)

请将此保留在messages.properties

ConcurrentSessionControlStrategy.exceededAllowed=This account is already using by someone.

它将显示“此帐户已被某人使用”。你可以给你想要的东西。

另请不要忘记配置Resourcebundle

答案 2 :(得分:1)

spring-security-3.2.0,message.properties:

ConcurrentSessionControlAuthenticationStrategy.exceededAllowed =超出此主体的最大会话数{0}