使用Tomcat 7更改SESSION ID

时间:2012-08-14 06:04:55

标签: tomcat7 sessionid jsessionid

根据tomcat文档,tomcat7不容易受到会话固定攻击。但是我的tomcat 7.0.25以及7.0.27很容易受到这种攻击。成功登录后,JSESSIONID cookie值不会被更改。

我将以下Valves添加到我的conf / context.xml中。但这没效果。请帮帮我。

<Valve className="org.apache.catalina.authenticator.BasicAuthenticator" changeSessionIdOnAuthentication="true" />
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" changeSessionIdOnAuthentication="true" />
<Valve className="org.apache.catalina.authenticator.SpnegoAuthenticator" changeSessionIdOnAuthentication="true" />
<Valve className="org.apache.catalina.authenticator.DigestAuthenticator" changeSessionIdOnAuthentication="true" />
<Valve className="org.apache.catalina.authenticator.FormAuthenticator" changeSessionIdOnAuthentication="true" />

我还知道JSESSION ID cookie值只会在身份验证上发生变化。认证意味着什么?它是否将应用程序从http切换到https?

是否有任何已经构建的内容可以更改登录时的jsession id值?现在我正在通过代码更改此内容。

提前致谢。如果您需要更多信息,请与我们联系。

此致

Prashant Gupta

1 个答案:

答案 0 :(得分:0)

您确定您的应用程序使用服务器安全性。

这些配置仅在您使用时才会影响此行为。

如果您的身份验证使用例如自定义或弹簧安全身份验证,则它们将不适用,您必须自己执行此操作。

例如,在spring sec中有参数。

此致