kidys 发表于 2017-1-17 07:27:18

Tomcat SessionId长度

  最近在做一个接口项目,其中有一个接口的节点在规范中明确要求输入一个长度为32位的SessionID。开始,项目在开发的Tomcat6.0环境下运行,接口一切正常。后来,移到测试机器中的Tomcat下,发现该验证接口返回的全是错误结果。通过跟踪HTTP包发现,测试机上Tomcat产生的SessionID越界,除了原有32位还跟有一串固定的字符。

<%
System.out.println(session.getId());
%> 
  DEV Tomcat: JSESSIONID=1392155003AF2D71BB5FFCA93EAC9930
  TEST Tomcat: JSESSIONID=73B09B4A798FB8354D0A00CFFC6A4BA9.jvm1
  比对开发和测试环境的conf/server.xml,发现测试机器server.xml中节点<Enginename="Standalone" defaultHost="localhost" jvmRoute="jvm1">设置了jvmRoute属性,去掉后生成的SessionId就是32位。
  在Weblogic下默认SessionID的长度为52位,但也可以将其长度设置为32位。修改当前项目下的weblogic.xml配置文件。

<session-descriptor>
<id-length>32</id-length>
</session-descriptor>
页: [1]
查看完整版本: Tomcat SessionId长度