【问题标题】:Loggin a user across different domains跨不同域记录用户
【发布时间】:2011-04-25 09:57:37
【问题描述】:

两年前,我不得不设计一个系统来跨多个域共享身份验证数据,所有域都共享同一个服务器/数据库。我能够通过一个复杂的 cookie 共享系统来解决这个问题,该系统迄今为止仍然有效。

我现在正在重新设计系统,我想知道是否有更好的方法来实现这一点而无需编写跨域 cookie。

基本上系统必须这样做。

一旦登录一个站点,用户必须无缝登录另一个站点,不仅是通过链接,甚至直接在地址栏上写下域名。

据我所知,实现此目的的唯一方法是跨域 cookie,如果有其他选择,请告诉我。

非常感谢

【问题讨论】:

    标签: php authentication cookies cross-domain


    【解决方案1】:

    为此,您必须使用 cookie,但您可以更改 cookie 中存储的内容。 cookie 不必包含用户凭据,而是可以包含更像是您用来“集中”会话的令牌的东西。

    简单的方法是让所有主机共享一个 memcached 服务器并使用用户 cookie 的内容作为您的密钥。

    【讨论】:

      【解决方案2】:

      我的想法是在所有站点中包含来自第三个域的登录 Javascript。这个 javascript 设置和读取 session-cookie 并通过 ajax 调用当前域服务器并得到结果。 (不应该在 JS 中进行验证 - 这只是设置和读取 cookie)

      如果跨域AJAX不起作用,您仍然可以调用第三方域服务器,它充当代理并调用当前域服务器。

      【讨论】:

        【解决方案3】:

        StackOverflow 网站已经实现了类似的东西。在以下链接中查看详细信息。

        Here is a post giving an outline of how they did it.

        And here is even more detail.

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-14
          • 1970-01-01
          • 2015-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-15
          相关资源
          最近更新 更多