Spring Session共享 高版本和低版本项目的兼容

        实际项目中多个工程之间需要用到session共享,spring提供注解方式@EnableRedisHttpSession,很是方便,但最近一个新项目用到的spring session 版本是2.x居然跟之前的1.x版本不兼容。

        网上搜到一种解决办法,说是2.x版本默认对session内容进行64编码,只要把设置改下就好,配置类中添加@Bean注解方法,把默认64编码去掉,代码如下

@Bean
public CookieSerializer devCookieSerializer(){
    DefaultCookieSerializer serializer = new DefaultCookieSerializer();
    serializer.setUseBase64Encoding(false);
    return serializer;
}

        我设置了这个属性,但并没有解决我的实际问题,在跟代码之后发现,1.x版本会在Redis把session保存key为“spring:session:+你设置的命名空间“这种格式,而2.x版本的并不会默认添加spring:session:前缀,所以高版本的项目除了要做上面的配置外,还要在低版本项目中命名空间字符串前加个“spring:session:”前缀,这样才能兼容。

        至此,在不改低版本项目的前提下,高版本项目和低版本项目也能做到Session共享。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值