Tomcat无法设置cookie、session失效
0
其实这个问题很久以前就遇到过了,只不过以前没有记录,又遇到了这里记录一下。
问题就是session里面设置了属性,但是取值时都是null。
其实这个根本原因就是无法设置cookie。
为什么会设置不了呢,主要就是配置了cookie的secure属性,同时没有使用https协议,所以导致cookie设置失败。
设置方法:
// Cookie设置
cookie.setSecure(true);
// web.xml配置
<session-config>
<cookie-config>
<secure>true</secure>
</cookie-config>
</session-config>
SpringBoot集成RedisSession也会有这个问题,主要就是如果你的项目配置了RedisSession,但是访问另外一个没有集成RedisSession项目的时候,系统会认为你的session失效了,就会导致重写你的session cookie导致session失效。
可以通过设置session cookie的path、name、domain解决这个问题。