为什么springsession浏览器的cookie中sessionid和服务端获取的sessionid不一样

为什么spring session 浏览器的cookie中sessionid和服务端获取的sessionid不一样,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

在郯城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、做网站 网站设计制作按需规划网站,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,成都外贸网站建设,郯城网站建设费用合理。

浏览器cookie里存的sessionId是经过base64编码过的,而服务器上获取的sessionId是没有编码的。cookie里的解码后与服务器上其实是一致的。这里的关键是spring session 在设置cookie的时候设置的,可以看源码 DefaultCookieSerializer 类里面的writeCookieValue 方法,里面有关键的一段代码

Cookie sessionCookie = new Cookie(this.cookieName, this.useBase64Encoding?base64Encode(actualCookieValue) : actualCookieValue);
而在类的成员变量里面是直接指定了

private boolean useBase64Encoding = true;
解决方案:直接注入这个类去取代就可以了

@Bean
public DefaultCookieSerializer getDefaultCookieSerializer(){
    DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
    cookieSerializer.setUseBase64Encoding(false);
    return cookieSerializer;
}

关于为什么spring session 浏览器的cookie中sessionid和服务端获取的sessionid不一样问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网页题目:为什么springsession浏览器的cookie中sessionid和服务端获取的sessionid不一样
转载注明:http://bzwzjz.com/article/jscgpp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 高端品牌网站建设 定制级高端网站建设 成都网站建设 网站制作 成都网站建设 网站建设方案 温江网站设计 企业网站建设公司 成都网站建设 四川成都网站设计 响应式网站设计 网站建设方案 商城网站建设 成都网站设计 成都网站制作 泸州网站建设 成都网站制作 网站设计 定制网站建设多少钱 成都企业网站设计 成都品牌网站建设 成都网站设计