Spring session、set-cookie失效、跨域、每次请求sessionid不一致,Cookie sameSite坑 跨域之坑


  最近公司做的一个项目,在电脑端开发一直都没有问题,但是把项目放到微信公众号里打开网页登录的时候就会出现每次请求sessionid不一致的问题。

原因有很多,先贴图

 

 

 

 

 

 

 

session是后台生成的,由于验证码信息是放了在session里面,每次的session不一致,导致没有办法从session里面拿到响应的信息,导致这个问题是因为谷歌有一个sameSite

 

SameSite Cookie 应该是一种新的cookie属性值,我看到很多大型网站如百度都没有用到,
他是防止 CSRF 攻击 具体可看 https://www.cnblogs.com/ziyunfei/p/5637945.html

 

 

 

 

 

解决办参考:

https://blog.csdn.net/boom_man/article/details/84642040

 

@Bean
public CookieSerializer httpSessionIdResolver(){
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        cookieSerializer.setCookieName("token");
        cookieSerializer.setUseHttpOnlyCookie(false);
        cookieSerializer.setSameSite(null);
        return cookieSerializer
}

  

加上这个之后,还要把HTTP换成HTTPS才能解决问题,转换方式这里不展开讨论


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM