gpt4 book ai didi

tomcat - Tomcat 服务器作为另一个 Tomcat 服务器的代理时的 JSESSIONID 问题

转载 作者:行者123 更新时间:2023-11-28 23:31:27 24 4
gpt4 key购买 nike

我有一个 (1) Tomcat 服务器应用程序。它正在代理对第二 (2) 个应用服务器(第 3 方)的调用,如:

最终用户 --> 我的 (1) Tomcat 服务器应用 --> 第二 (2) 个应用服务器

当最终用户通过我的 (1) Tomcat 服务器应用程序进行身份验证时,我的 (1) Tomcat 服务器应用程序将依次代表最终用户登录到第二 (2) 个应用程序服务器。

然后第二 (2) 个应用服务器生成一个 JESSIONID。我需要 JESSIONID 是与与我的 (1) Tomcat 服务器应用程序交互的最终用户相关联的那个。

问题似乎是第二个 (2) 应用程序服务器与我的 (1) Tomcat 服务器维护一个 session ,因此如果多个最终用户正在与我的 (1) Tomcat 服务器交互,他们都会结束共享单个 session 。

(我希望这是有道理的)

处理这种情况的正确方法是什么?

在此先感谢您的帮助!

最佳答案

如何从 app1 调用 app2 ?使用 http 客户端库或类似的东西?

The issue seems to be that the second (2) App Server is maintaing a single session with My (1) Tomcat Server, so that if multiple end-users are interacting with My (1) Tomcat server, they all end up sharing a single session.

我可以看到 2 个选项

  1. 您可以将第二个应用的 JSESSIONID 存储在第一个应用的 session 中。每次从第一个应用程序代理第二个应用程序时,从第一个用户 session 中查找第二个应用程序的 JSESSIONID 并将其包含在您的请求中

  2. 第一次从 app2 收到 JSESSIONID 时,在响应中将 cookie 发回给用户。每个后续调用都会自动让 JSESSIONID 流入 app1,app1 将被代理到 app2。但要实现这一点,您必须将 app1 的 session cookie 名称更改为其他名称。

关于tomcat - Tomcat 服务器作为另一个 Tomcat 服务器的代理时的 JSESSIONID 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29813389/

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