我将spring-security.xml从3.2转换为4.0。如果我继续使用3.2,那么JsessionId正在显示。当达到4.0时,它没有显示JsessionId.With我无法使用相同的用户限制多个登录(并发控制)。
这是我在 Spring-security.xml 中的配置: -
<security:session-management invalid-session-url="/login" session-fixation-protection="newSession" >
<security:concurrency-control max-sessions="1" error-if-maximum-exceeded="true" expired-url="/login"/>
</security:session-management>
我对spring-security-3.2和4.0使用相同的代码作为aboue。 我怎样才能获得JsessionId。
答案 0 :(得分:2)
在Spring 4.X中,url-rewriting默认切换为禁用,这意味着JSESSIONID由cookie而不是URL管理。
如果您在短期内需要它,您应该能够设置:disable-url-rewriting =“false”
修改强> Spring故意禁用此功能,因为OWASP将其列为“已损坏的身份验证和会话管理”您应考虑将cookie与spring安全会话控制功能结合使用: http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#ns-concurrent-sessions