wulai_and_wunai 2021-08-20 11:39 采纳率: 0%
浏览 456

springboot 前后端分离项目,前端http访问后端https JSESSIONID不一致的情况

springboot 前后端分离项目,前端http访问后端https JSESSIONID不一致导致登录后又提示未登录,谷歌浏览器通过设置samesite为disable后可解决
初步解决思路在网上也找了很多方法试了
1、通过springboot设置samesite为none,这种方式测试环境前端为http访问后端的http接口,可以解决该问题,但是对正式环境为前端http访问后端https接口无效,代码如下:

@Bean
    public CookieSerializer httpSessionIdResolver() {
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        cookieSerializer.setUseHttpOnlyCookie(false);
        cookieSerializer.setSameSite("None");
        cookieSerializer.setCookiePath("/");
        cookieSerializer.setUseSecureCookie(true);
        return cookieSerializer;
    }

2、在后端nginx设置proxy_cookie_path / "/; httponly; secure; SameSite=None";一样没效果

3、整个通过调试前后端的JSESSIONID,发现两者不一致导致登录后系统又返回首页的登录页面

4、前后端的相关内容

img

前端浏览器查看的sessionID:

5021667194EEE15904E6CAD6AE85FDB3

后端通过日志sessionID:F86D0670D7952A789AD966F6D4E88581

问题到此处就无法往下进行了,不知道还能从哪方面入手,通过浏览器设置samesite后可正常访问,但是nginx后端设置samesite为none,这样还是无法解决该问题

整个项目环境在linux下,前后端分离部署在不同服务器,同时前后端都用nginx分别代理

  • 写回答

2条回答 默认 最新

  • SpringBoot中文社区 2021-08-20 12:25
    关注

    看你截图,这回SameSite值写错了呀?
    img

    评论

报告相同问题?

问题事件

  • 创建了问题 8月20日

悬赏问题

  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding