【发布时间】:2023-03-15 08:05:01
【问题描述】:
如何在多个第二域服务器上同步 sessionID?例如,我有服务器(您可以在其中任何一个上登录服务器群)、www.service1.com、www.service2.com、www.service3.com,如果您在其中一个上登录,登录信息(+其他任何内容)应该一直存在。如何向其他域提供 SessionID? (会话本身存储在跨服务共享的 sql server 上)。
【问题讨论】:
如何在多个第二域服务器上同步 sessionID?例如,我有服务器(您可以在其中任何一个上登录服务器群)、www.service1.com、www.service2.com、www.service3.com,如果您在其中一个上登录,登录信息(+其他任何内容)应该一直存在。如何向其他域提供 SessionID? (会话本身存储在跨服务共享的 sql server 上)。
【问题讨论】:
跨域登录是可能的,但非常棘手,并且容易出现问题。
通常,执行此操作的方案将涉及充当集中式身份验证服务器的第三台服务器。各个站点上的登录请求将通过身份验证服务器进行路由,身份验证服务器将传回一个安全令牌以用作会话 ID。
我已经看到这个会话 ID 通过 url 重定向以及后端服务器通信传递回服务器。
我的个人建议是将身份验证服务器用作某种网络服务,并分别维护各个站点的登录。工作流程大致如下:
可以使用一些花哨的重定向和某些形式的信任来实现自动登录系统,但老实说,这样的事情很少值得。上述建议最终会导致他们必须登录每个单独的站点,但他们会在每个站点上共享相同的凭据和配置文件。
【讨论】:
你不是说跨域吗?
由于浏览器的安全功能,这是不可能的。浏览器不允许跨域访问 cookie。
【讨论】: