Tomcat无法设置cookie、session失效

0

其实这个问题很久以前就遇到过了,只不过以前没有记录,又遇到了这里记录一下。

问题就是session里面设置了属性,但是取值时都是null
其实这个根本原因就是无法设置cookie

为什么会设置不了呢,主要就是配置了cookiesecure属性,同时没有使用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 cookiepathnamedomain解决这个问题。