JsessionId并没有在网址上贬低?

时间:2016-11-28 12:37:12

标签: java session spring-security

我将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。

1 个答案:

答案 0 :(得分:2)

在Spring 4.X中,url-rewriting默认切换为禁用,这意味着JSESSIONID由cookie而不是URL管理。

如果您在短期内需要它,您应该能够设置:disable-url-rewriting =“false”

源: http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#nsa-http-disable-url-rewriting

修改 Spring故意禁用此功能,因为OWASP将其列为“已损坏的身份验证和会话管理”您应考虑将cookie与spring安全会话控制功能结合使用: http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#ns-concurrent-sessions