我目前正在跨多个应用程序使用jdbc会话,配置了Spring Security 。我需要的是同一用户的所有会话在所有应用程序中使用相同的会话。
例如,user1将其帐户登录到applicationa,这将在数据库中正确创建会话。之后,同一个用户1从不同的浏览器登录到applicationb,我需要的是该用户在两个应用程序之间共享其会话,以便用户可以从applicationa将某些内容保存到其会话中,并使其可以从applicationb访问。
我知道,如果我在applicationb的浏览器中手动更改sessionid cookie,我可以实现这一点,但我需要的是spring在登录后自己完成这一点。
我在这里发现了一个类似的问题:如何使用Spring Security 和来自多个服务器的spring会话获得相同的会话
但答案并不正确。
附加信息jdbc:oracle配置:全部在java中
1条答案
按热度按时间nnsrf1az1#
似乎可以通过使用oauth2并将用户数据保存在授权服务器中来解决这个问题。然后两个应用程序可以访问相同的用户数据。
spring会话旨在启用会话群集,您可以让同一应用的多个示例共享外部会话存储。