微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Security 使用 JDBC Sessions 在多个 Web 应用程序之间共享相同的会话

如何解决Spring Security 使用 JDBC Sessions 在多个 Web 应用程序之间共享相同的会话

我目前在多个应用程序中使用 JDBC 会话,并配置了 Spring 安全性。我需要的是同一用户的所有会话在所有应用程序中使用相同的会话。

例如,user1 将他的帐户登录到 applicationA,这在数据库中正确创建了一个会话。之后,同一个用户 1 从不同的浏览器登录到应用程序 B,我需要让该用户在两个应用程序之间共享其会话,以便从应用程序 A 中,用户可以将某些内容保存到其会话中,并使其可从应用程序 B 访问。>

我知道,如果我在 applicationB 中手动更改浏览器中的 SessionId cookie,我可以实现这一点,但我需要的是 spring 在登录后自行执行此操作。

在这里发现了一个类似的问题:How to get same session with Spring Security and Spring Session From multiple server

但答案不正确。

其他信息 JDBC:甲骨文 配置:全部在Java中

解决方法

似乎可以通过使用 OAuth2 并将其用户数据保存在授权服务器中来解决。这样两个应用就可以访问相同的用户数据。

Spring Session 旨在启用会话集群,您可以让同一应用的多个实例共享外部会话存储。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。