我正在构建一个将在 Tomcat 上运行的小型 Java (servlet) 身份验证 Web 应用程序。该应用程序将对用户进行身份验证,然后将用户重定向到另一个 Web 应用程序(在不同的服务器上)。问题是,在用户进行身份验证后,我需要以某种方式告诉 Apache 该会话已通过身份验证,并且 Apache 应将 http 请求重定向(使用 RewriteRules)到目标 Web 应用程序(而不是用于身份验证的应用程序)。
根据我的研究,我有 3 个选项: 1. 身份验证成功后,我重定向到一个 URL,告诉 Apache 该会话已通过身份验证(使用 RewriteRules)。我可以将此信息存储在 Cookie(问题:安全性)或 Apache 环境变量(问题:清除非活动环境变量...)中。2. 使用 apache mod 将会话存储到数据库中。验证成功后,我使用 Java 应用程序更新数据库,apache 将所有请求重定向到目标 URL(问题:数据库访问负载(最多 500 个活动并发用户))。3. HTTP 隧道。但这意味着对目标应用程序的每个请求都通过我的身份验证应用程序(问题:冗余,缓慢,......)
- 还有另一种方法可以做到这一点吗?
- 最好的方法是什么?
谢谢一堆。