缘由
两个项目需要集成,并实现session共享,使用spring session实现,但一直不成功。
原因是一个项目的springboot版本较高(2.1.3.RELEASE),会将session使用base64转码。
解决
在高版本项目中添加配置类禁止转码即可
@Configuration
public class RedisSessionConfig {
/**
* @Description 解决高版本的springboot会自动将session用base64转码。
* 导致与底版本springboot无法session共享。
* 此配置为禁止转码
*/
@Bean
public DefaultCookieSerializer getDefaultCookieSerializer(){
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
cookieSerializer.setUseBase64Encoding(false);
return cookieSerializer;
}
}