有没有办法在 Spring Session 中同时启用 2 个 HttpSessionStrategy?

Is there any way to enable 2 HttpSessionStrategy together in Spring Session?

我正在使用 Spring Session 来进行会话管理。同时,我们的应用程序中有一些 REST API,我们也想使用基于令牌的身份验证。

所以,我们想同时启用 2 个 HttpSessionStrategy,CookieHttpSessionStrategyHeaderHttpSessionStrategy。这样,我们的应用程序就可以同时验证cookies和token了。

您必须实现自己的 HttpSessionStrategy(请注意,在 Spring Session 2.0 中,此 API 已替换为 HttpSessionIdResolver)知道如何处理 cookie 和 header。您应该能够为此使用组合,因此可以通过委托给 Spring Session 提供的现有 HttpSessionStrategy 实现来重用它们。

当然,这会带来一些复杂性,因为您必须考虑哪种机制优先。