2个网站是否有可能拥有独特的登录系统

时间:2011-08-03 18:51:27

标签: php mysql facebook cs-cart

  

可能重复:
  Single Sign On - how to implement?

我有2个不同的网站,一个用于促销目的,另一个用于使用cs-cart销售产品。

如何在登录促销网站时添加将用户登录到cs-cart网站的功能?

6 个答案:

答案 0 :(得分:1)

这是一个众所周知的要求Single Sign On,并且有一些实施它的标准。基本概念是一个网站(身份消费者)可以将用户身份验证请求委托给另一个网站(身份提供者),而不是自己评估请求。在您的情况下,您的某个网站将成为提供商,而您的所有其他附属网站将成为消费者。

第一个标准是SAML,由OASIS标准组维护。 SAML是开放且庞大的,并且大多数真实世界的示例仅实现整个SAML规范的一小部分。谷歌有一个SAML SSO integration,有一个非常好的PHP库,名为SimpleSAML,涵盖了大多数理想的用例。

解决此问题的另一个标准是OpenID。我从来没有处理它,但一个很好的示例实现是Stack Overflow本身。

还有Facebook Connect可以解决类似问题,并依赖Facebook成为身份提供商。

由于专业服务提供商寻求将其平台与其他提供商集成,因此这是一个热门话题。祝你好运。

答案 1 :(得分:0)

创建发送用户授权Cookie并将其重定向到site.old/superlogin.php

的页面site.promo

site.promo登录后将用户重定向到site.old/superlogin.php?token=userUniqueTokenToAuthIt(并且会进行身份验证并重定向回来)

答案 2 :(得分:0)

如果站点在服务器上工作,您可以轻松地共享同一个数据库。您可以使用cookiese但我看不到可以轻松更改的方式,它不会导致问题。如果他们注册/登录,只要他们使用用户信息将他们的IP放入数据库,这样我就可以在他们去两个站点时检查IP。

答案 3 :(得分:0)

你有site1和site2 用户已登录site1。

  1. 当他访问site2时 - 浏览器被重定向到site1-authorization-page,用于检查用户是否已登录。
  2. 此脚本标记(在site2或同一个数据库的数据库中)用户“logged_in_at_site2”= True(或类似的东西)。
  3. 浏览器重定向到site2。 (此阶段用户已标记为已记录)
  4. 还必须创建site2的cookie,以便在上次重定向后识别用户。

    理解这一切的好习惯将是通过社交网络登录。 (例如Facebook

答案 4 :(得分:0)

我已经使用Java完成了这项工作,但也可以使用PHP,您可以选择使用cookie,但这只适用于同一个域,您也可以使用第三方解决方案(我推荐),您可以在< / p>

http://code.google.com/apis/apps/open_source_projects.html#sso

lemme知道你是否需要帮助,祝你好运

答案 5 :(得分:-1)

是的,只有这两个人共享同一个数据库