1

我想知道如何管理多个域的单一登录。我搜索了几个小时并阅读了几篇文章并获得了许多新东西。我对这个答案之一印象深刻

如何创建跨多个域的共享登录服务?

但有一件事是无法清除的。

假设我的登录站点(域)是 checklogin.com,我想将它用于两个域 domain1.com 和 domain2.com。我应用了上述链接建议的登录逻辑。

我的问题是我通过 checklogin.com 在 domain1.com 上进行了登录,并使用 socked (curl) API 验证了从 domain1.com 到 checklogin.com 的登录。确认登录后,用户继续在 domain1.com 上冲浪约 30 分钟。我的网站会话超时为 20 分钟,但 domain1.com 上的会话不会过期,因为每次用户单击 domain1.com 上的链接时会话都会刷新。

30 分钟后,用户从 domain1.com 跳转到 domain.com。在这种情况下,domain2.com 会将用户重定向到 checklogin.com,因为 domain2.com 无法识别用户 sessio,但由于 20 分钟的会话时间,checklogin.com 上的会话已经过期。所以用户必须再次填写登录详细信息。

我不想每次用户访问 domain1.com 上的任何链接时都从 domain1.com 调用 webservice 到 checklogin.com,因为我会增加 checklogin.com 上的开销。

请提出什么是有效的解决方案。

提前致谢!

4

1 回答 1

0
  1. 在 domain1.com 和 domain2.com 上设置会话超时 20 分钟
  2. 在 checklogin.com 上将会话超时设置为 30 分钟
  3. domain1.com(或 domain2.com)上的每个请求都执行 curl 到 checklogin.com 以更新 checklogin.com 上的会话
  4. 因此,当您访问 domain2.com(或 domain1.com)上的其他应用程序时,会话将处于活动状态。
于 2013-06-25T06:28:44.923 回答