gpt4 book ai didi

cookies - 同时使用两个spring boot app时退出一个spring app

转载 作者:行者123 更新时间:2023-12-02 06:14:20 25 4
gpt4 key购买 nike

我有两个 spring boot 应用程序。

  • module1 在端口 8080 上运行
  • module2 在端口 9090 上运行

我已在 application.properties 文件中使用此属性设置端口

server.port=${port:9090}

这两个模块都有/login、/signup,无需通过以下代码完成身份验证即可访问。

http.authorizeRequests()
.antMatchers("/signup", "/login").permitAll()

任何其他请求都需要对用户进行身份验证。

如果我一次使用一个模块没有问题,

但是如果尝试同时来回使用它们,那么问题是我每次使用另一个应用程序时都必须重新登录到上一个应用程序。例如。

  1. 转到模块 1 的登录页面 -( header 响应已设置 jsessionid=XX)确定
  2. 登录到 module1 - 确定
  3. 浏览模块 1 上的安全内容 - 确定
  4. 转到模块 2 上的注册页面 -( header 响应已设置 jsessionid=YY)ok
  5. 尝试浏览到模块 1 上的另一个安全内容 - 我必须重新登录

我很确定这是由于模块 2 重置了 jessionid。

Are HTTP cookies port specific?我读过这篇文章,其中指出 cookie 不是特定于端口的。

但必须有一个解决方案,这样我就不必每次切换应用程序时都必须登录。

最佳答案

您需要为两个应用程序使用不同的 cookie 名称。

有不同的方法可以做到这些,最简单的方法是,对于版本 >=1.3 的 spring-boot 应用程序,只需设置一个属性:

server.session.cookie.name = MYSESSIONID

post 中描述了其他方式.

关于cookies - 同时使用两个spring boot app时退出一个spring app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43556950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com