同一域中我的网站的单一登录实现



我们已经有一个应用程序正在运行,比如说 a.example.com,现在我们计划再添加一个应用程序作为b.example.com。我们已经将 a.example.com 的用户会话存储在 Azure Redis 缓存中。 有没有一种简单的方法可以通过利用现有的 Redis 会话存储在我的两个站点之间提供 SSO。

注意:请不要建议使用身份框架,因为我不想有一个单独的服务器来进行身份验证。纠正我如果我在这里错了,伙计们。

提前致谢 加内桑·

我将首先说什么是解决方案,然后给出我的工作所做的事情,因为我们有多个景点,它们都处理自己的会话,但都是相互关联的。

当您为 a.example.com 创建会话时,您是否也可以创建 b.example.com 并将两者放入 Redis 商店?然后,当某人注销时,您可以根据用户找到两个站点的会话,并一次删除这两个站点。

另一种选择可能是两个站点都寻找 1 个会话。这样,每个用户只有 1 个会话,因此只有 1 个要创建和 1 个销毁。您可以将域设置为按 example.com,除非有其他站点不应看到该域。

我们使用服务提供商来创建我们所有网站都指向的登录中心。然后,每个站点都有自己的会话,该会话在所有内容上都有一个域。然后,当有人注销时,服务器将立即删除所有会话,并在服务提供商处为用户调用注销。在您的情况下,您可以将 Redis 会话存储视为一种服务提供商,为您的网站查看以进行用户验证的用户存储会话?

最新更新