Session过期时间无效问题--测试

一、影响因素

  • Tomcat web.xml
    Tomcat 下conf文件夹中web.xml配置文件中的session-timeout参数会影响session时间
  • 项目配置中的web.xml
    项目配置中的web.xml配置文件中的session-timeout参数可能会影响session时间
  • redis中的session
    redis中的sessoion过期时间可能会影响session过期

二、测试步骤

  • redis中session的影响
  1. 修改数据库中redisExpiretime的配置
    修改数据库EDCC03中redisExpiretime的配置为60,通过client查看后发现session的TTL时间不会产生变化,是项目里设置好的8小时,以上操作证明session过期和该配置无关。
  2. redis中session过期,浏览器中未过期
    在redis client中修改session的TTL时间,时间到期后,刷新页面,没有跳转至登陆页面,原session将会重新添加到redis中并重置过期时间。
  3. redis中session未过期,浏览器中session因项目中web.xml或重启项目过期
    过期后刷新页面后。跳转至登录页,登录后,redis会丢弃原有的session,替换成新的session。
  4. redis中session未过期,浏览器中session因项目中web.xm未过期
    每次进行操作后会进行redis中的sessionTTL时间重置
    以上操作证明页面session过期与redis中储存的session并非强关联。
  • tomcat中session-timeout的影响
    修改tomcat中的web.xml参数session-timeout,在项目中存在web.xml配置文件时不生效,仍然根据项目中的web.xml配置的参数丢弃session数据。
  • 项目中session-timeout的影响
    设置WEB-INF/web.xml中session-timeout的时间为2min,在画面运行2min中后,刷新页面需要登陆页面。项目中的web.xml配置生效。

三、测试结论

  1. 项目下web.xml配置的session-timeout优先级高于tomcat下web.xml配置的session-timeout
  2. session过期时间与redis中的配置的session过期时间无关

四、建议配置

建议项目的web.xml中session-timeout参数配置为10080(七天),EDCC03中redis过期时间(iplat.core.cache.redisExpireTime)配置为604800000

五、问题

  • sessionId篡改
    问题现象:
    在同一个服务器下,使用不同tomcat、不同的端口(8080,18080)、不同的redis(6379,6380)、不同的mysql数据库(iplat/iplatdb,iplattest/iplattestdb),启动两个iplat项目,分别访问127.0.0.1:8080/iplat和127.0.0.1:18080/iplat,用户在同一浏览器上,开启两个tab页,分别访问127.0.0.1:8080/iplat和127.0.0.1:18080/iplat登录页,登录进入8080端口的iplat之后,再登陆18080端口的iplat,原来8080端口的iplat需要重新登陆
    原因分析:
    经调试发现,浏览器访问127.0.0.1:8080/iplat服务时,前端浏览器生成的sessionId为A;当同时使用浏览器访问127.0.0.1:18080/iplat服务时,前端浏览器生成的sessionId为B,且127.0.0.1:8080/iplat页面的sessionId也变成了B;因此当127.0.0.1:8080/iplat页面再次刷新时,后台用sessionId B做校验时,session不存在及需要重新登录。由于两服务部署在同一服务器上,仅端口不一致,因此两服务相同域,猜测4j在生成sesion和进行sesion校验时,同域下session相同。同时,使用非同域的两iplat服务进行佐证,发现sessin未出现相互影响!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容