Spring security spring安全会话并发的奇怪行为

Spring security spring安全会话并发的奇怪行为,spring-security,login-control,Spring Security,Login Control,我发现spring安全性、会话并发性非常奇怪 <sec:session-management> <sec:concurrency-control max-sessions="1" error-if-maximum-exceeded="true" /> </sec:session-management> 代码意味着,只有一个用户可以及时登录 我成功登录,然后点击注销按钮。已成功注销(我不再获取用户名)。但当我尝试重新登录时,我得到的异常是超

我发现spring安全性、会话并发性非常奇怪

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

代码意味着,只有一个用户可以及时登录

  • 我成功登录,然后点击注销按钮。已成功注销(我不再获取用户名)。但当我尝试重新登录时,我得到的异常是超过了最大会话数。spring安全中的会话是否未被明确删除
  • 我完成登录。如果我没有注销,我会尝试再次登录。我仍然可以登录。但当我第二次重新登录时,我得到了异常,超过了最大会话数。我认为第一次尝试重新登录时应该拒绝登录
  • 谢谢你的回复
    致以最诚挚的问候

    我想spring security没有被告知在注销时使当前会话无效。这可以通过文档中的
    元素来完成

    我认为Raghuram是正确的

    您可以尝试以下操作:

    <logout invalidate-session="true" logout-url="/logout.htm"
    logout-success-url="/login.jsp?loggedout=true" />
    
    
    
    在这里,我在注销时使会话无效,并将用户重定向到登录页面。
    希望这是有帮助的。如果不是这种情况,请告诉我。

    确保您没有忘记在
    web.xml
    中根据会话管理的需要配置侦听器:

    <listener>
        <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
    </listener>
    
    
    org.springframework.security.web.session.HttpSessionEventPublisher