Cookies Spring security不允许我重新登录已注销的帐户

Cookies Spring security不允许我重新登录已注销的帐户,cookies,spring-security,session-cookies,Cookies,Spring Security,Session Cookies,我可以轻松地将任何用户登录到我的应用程序中,但一旦我注销,我就无法再次使用同一用户登录。 因此,我需要重新运行应用程序才能使用该帐户登录 当我第二次尝试登录时,它会显示以下消息,该消息应该针对并发访问显示 Maximum sessions of 1 for this principal exceeded. 注销 <a href="<c:url value="/j_spring_security_logout" />" > Logout</a> my

我可以轻松地将任何用户登录到我的应用程序中,但一旦我注销,我就无法再次使用同一用户登录。 因此,我需要重新运行应用程序才能使用该帐户登录

当我第二次尝试登录时,它会显示以下消息,该消息应该针对并发访问显示

Maximum sessions of 1 for this principal exceeded.
注销

  <a href="<c:url value="/j_spring_security_logout" />" > Logout</a>

myproject security.xml

       <session-management invalid-session-url="/index">
          <concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
       </session-management>
       <logout delete-cookies="JSESSIONID,User,UserID"/>
 </http>

我在我的web.xml中包含了以下代码

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

org.springframework.web.context.ContextLoaderListener
org.springframework.security.web.session.HttpSessionEventPublisher

听起来像是一个错误。@LukeTaylor我试过了,但没有帮助,如果我在不注销的情况下关闭浏览器,我需要再次登录,登录后会显示错误。这是正常行为。在你的问题中,你说你注销了,这意味着你主动点击了一个注销链接,从而破坏了会话。如果不注销,则用户在服务器上仍有活动会话。如果超过最大值=true,您已设置了
错误,因此您将得到一个错误。@LukeTaylor正如我在注销后解释的,我无法再次登录;然而,据我所知,正常的行为是能够在每次注销后登录到系统。设置最大超出参数是为了避免并发登录,而不是已注销系统并希望再次登录的用户。很抱歉,但您在上面的评论中说“如果我在未注销的情况下关闭浏览器”,因此您的问题不清楚您是否真的注销了应用程序。检查会话是否已失效并从
会话注册表中删除。您应该在调试日志中看到相应的输出。