Session Tomcat中的会话Id长度

Session Tomcat中的会话Id长度,session,tomcat,Session,Tomcat,我们需要更改tomcat生成的会话ID长度。默认情况下,它是32字节,不幸的是,我们需要会话ID长度为20。通过在线查看,我可以看到标准管理器似乎可以管理此功能,它扩展了PersistanceManager 有人知道是否可以在tomcat配置中修改sessionIdLength?如果是,有哪些文件 另一种方法是创建一个自定义的管理器,该管理器只需覆盖/设置会话长度。这可能吗?如何告诉tomcat在配置中使用自定义管理器?是的,您可以通过配置文件修改StandardManager。元素可以嵌套在任

我们需要更改tomcat生成的会话ID长度。默认情况下,它是32字节,不幸的是,我们需要会话ID长度为20。通过在线查看,我可以看到
标准管理器
似乎可以管理此功能,它扩展了
PersistanceManager

有人知道是否可以在tomcat配置中修改
sessionIdLength
?如果是,有哪些文件


另一种方法是创建一个自定义的
管理器
,该管理器只需覆盖/设置
会话长度
。这可能吗?如何告诉tomcat在配置中使用自定义管理器?

是的,您可以通过配置文件修改StandardManager。元素可以嵌套在任何上下文中

因此,修改具有上下文的配置文件。它可能是位于conf目录中的server.xml。或war文件META-INF目录中的context.xml

要为整个服务器提供默认设置,请编辑$CATALINA_HOME/conf/context.xml。取消对管理器行的注释,并添加sessionIdLength属性

<Manager sessionIdLength="10" />

sessionIdLength
属性添加到Tomcat的
context.xml
元素中(或定义了经理的任何位置)


顺便说一句,假设默认值是16,而不是32。

感谢您的回复,我在我的/conf/context.xml中添加了上述行,但没有任何效果。我不确定这是否是一个问题,但contect.xml中也有和标记。我必须删除我的JSESSIONID cookie,然后重新启动Tomcat以获得较短的cookie。默认情况下,Tomcat将在重启期间将会话信息持久保存到磁盘。所以我认为它是在坚持较长的cookie,并在启动时重新加载它。所以,尝试删除JSESSIONID cookie,重新启动Tomcat。希望这将产生期望的结果。文档说是16字节。cookie编码为十六进制,因此32=16它是32个字符,而不是32个字节。config参数需要字节数。默认值为16字节=32个字符。