背景

公司内部同一用户使用了两个web项目,其中一个项目是在上ssl之前就上线了的,访问地址是http开头的,另外一个项目是上ssl后上线的,访问地址是https开头的。单独只访问其中一个项目的时候没有任何问题,但公司用户需要同时访问两个项目的时候,用户经常只能访问到其中一个项目,另外一个项目一直在登录页面和后台管理页面不断反复跳转,登录不到后台页面

观察

通过查看实际的cookie和session发现访问同一地址时根据不同的协议出现下面两种情况:

第一种情况http跳转到https,session不会失效。

第二种情况https跳转到http,session失效。tomcat会重新生成sessionId,所以用户进入不到后台页面

解决

由于公司用户对应http没有特殊需要,只需要将两个项目的地址改为http或则https即可