0

我们如何将用户会话从一个 spring 应用程序上下文流向另一个?基本上我有一个代表 Web 层的弹簧应用程序和另一个代表 REST 层的弹簧应用程序。我希望当 Web 层访问 REST 层时,包含用户信息的会话可用于 REST 层的 Web 以进行身份​​验证。

请建议。

在收到第一个答案后进行编辑:
目前我们确实有 Web 层以及安全性和所有其他流程。我们即将打算引入 REST 层。假设这个 REST 层被当前的 Web 层和其他 API 调用。我们不想对 Web 层进行任何更改,但同时需要在 REST 层设置安全性,这在调用 REST 服务时也应该适用于 Web 层。

4

1 回答 1

0

区分 SSO 和会话共享。如果您只想在应用程序之间进行身份验证(用户只需登录一次),那么您需要某种形式的单点登录(SSO),CAS就是一个例子,但还有很多。

另一方面,如果您需要跨不同节点(或应用程序)访问完整会话(以及应用程序放入其中的所有内容),则可以查看MemcachedTerracotta之类的东西。值得注意的是,会话复制是相当 I/O 密集型的,对于较大的站点,它通常需要一个专用的网络接口来进行复制。

但是,我想告诉您,如果您的应用程序耦合得如此紧密以至于它们需要共享相同的确切会话状态,那么也许它们一开始就不应该分开?这散发出错误的设计和架构假设的味道。

于 2012-10-26T07:09:43.370 回答