一台Tomcat部署多个工程,当前使用Redis存储Session,实现集群共享Session,发现在子工程中会话超时后,再次登录无法进入子工程,报告超时,必须清理本地cookie才能再次进入。
问题点:
超时页面生成了一个新的的sessionid,导致再次登录,进入子工程时默认使用该id检查用户是否登录。
解决办法:除了必须使用Redis共享Session外,还必须在非ROOT工程中配置使用ROOT工程的session
<session-config>
<cookie-config>
<path>/</path>
</cookie-config>
</session-config>
否则会出现session超时后,再次登录后无法进入子工程。