可能重复:
单点登录 - 如何实施?
我有 2 个不同的网站,一个用于促销目的,另一个用于使用cs-cart.
当用户登录促销网站时,如何添加将用户登录到他们的 cs-cart 网站的功能?
这是一个众所周知的要求,称为Single Sign On,并且有一些实现它的标准。基本概念是一个网站(身份消费者)可以将用户身份验证请求委托给另一个网站(身份提供者),而不是自行评估请求。在您的情况下,您的网站之一将是提供者,而您的所有其他附属网站将是消费者。
第一个标准是SAML,由 OASIS 标准组维护。SAML 是开放且庞大的,大多数现实世界的示例仅实现了整个 SAML 规范的一小部分。Google 有一个SAML SSO 集成,并且有一个非常好的 PHP 库,称为SimpleSAML,它涵盖了大多数理想的用例。
解决这个问题的另一个标准是 OpenID。我从来没有处理过它,但一个很好的示例实现是 Stack Overflow 本身。
还有 Facebook Connect 解决了类似的问题,并依靠 Facebook 作为身份提供者。
这是目前的热门话题,因为专业服务提供商寻求将其平台与其他提供商集成。祝你好运。
如果站点在服务器之外工作,那么您可以轻松地共享同一个数据库。您可以使用cookiese,但我看不到可以轻松更改它们并且不会引起问题的方法。我的做法是,每当他们注册/登录时,它会将他们的 IP 与用户信息一起放入数据库中,这样您就可以在他们访问两个站点时检查 IP。
您有站点 1 和站点 2。
用户已登录 site1。
还必须为 site2 创建一个 cookie,以在上次重定向后识别用户。
了解这一切的好习惯是使用社交网络登录。(例如脸书)
我已经使用 Java 完成了,但也可以使用 PHP,您可以选择使用 cookie,但仅适用于同一域,您也可以使用第三方解决方案(我推荐),您可以在以下位置找到开源解决方案
http://code.google.com/apis/apps/open_source_projects.html#sso
让我知道你是否需要帮助,祝你好运
创建site.old/superlogin.php发送用户授权 cookie 并将他重定向到的页面site.promo
site.promo登录后将用户重定向到(site.old/superlogin.php?token=userUniqueTokenToAuthIt它将被验证并重定向回来)
是的,只有这两个站点共享相同的数据库