2011-08-03 16 views

回答

0

创建发送用户授权cookie site.old/superlogin.php页和重定向他site.promo

site.promo登录重定向用户到site.old/superlogin.php?token=userUniqueTokenToAuthIt(这将是身份验证和重定向)

-1

是的,只有这两选址份额相同的数据库

+0

是这两个网站有相同的数据库,但它不工作,我从cs-cart公司家伙问他们说我们的登录系统与域基础会话和身份验证 – user353277

0

如果网站使用了服务器以便它们可以共享相同的数据库,那么您可以很容易。你可以使用cookiese,但我不能看到他们可以很容易地改变,并不会导致问题的方式。我该怎么做才会有,只要他们注册/登录它将他们的IP与用户信息放在数据库中,这样你就可以在他们去这两个站点时检查IP。

+2

我不会推荐使用IP地址,登录系统,因为许多用户可能使用相同的IP。 – Ragnar123

+0

是的,我已经为这两个网站共享相同的数据库。你能告诉我我怎么可以为你的cookie这个目的.......代码 – user353277

0

您有site1和site2。
用户已登录站点1。

  1. 当他访问站点2 - 浏览器重定向到site1的授权页面,它检查,如果用户已经登录
  2. 这个脚本标记(在站点2或同一DB数据库)用户“logged_in_at_site2 “=真(或类似的东西)。
  3. 浏览器被重定向到site2。 (在此阶段,用户已被标记为已登录)

也必须创建site2的Cookie,以便在最后一次重定向后标识用户。

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

+0

的任何例子,请把代码的一些例子在php.if你可以 – user353277

+0

对不起,没有代码在PHP的年龄 – Sergey

0

我已经完成了使用Java,但也可能与PHP,你有一个选项使用Cookie,但只适用于相同的域,也可以使用第三方解决方案(我建议)你可以在

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

还是让我找到开源解决方案知道你是否需要提供帮助的,祝你好运

+0

也相同db可能是一个很好的解决方案 – MNet

1

这就是所谓Single Sign On一个众所周知的要求,而且也实现这几个标准。基本概念是一个网站(身份消费者)可以将用户身份验证请求委托给另一个网站(身份提供者),而不是自己评估请求。在你的情况下,你的一个网站将成为提供商,而你所有的其他关联网站将成为消费者。

第一个标准是SAML,由OASIS标准组维护。SAML是开放和大规模的,大多数真实世界的例子只实现整个SAML规范的一小部分。谷歌有SAML SSO integration,有一个很好的PHP库叫做SimpleSAML,涵盖了大部分理想用例。

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

还有Facebook Connect解决了类似的问题,并依靠Facebook成为身份提供商。

这是一个热门话题,因为专业服务提供商试图将他们的平台与其他提供商进行整合。祝你好运。

+0

我应该这样说,因为您控制了两个端点,您可以使用简单的共享cookie策略实现共享登录,将用户从身份消费者站点重定向到身份提供商站点,验证用户,然后用某种“并设置此跟踪cookie”行为将用户重定向回用户站点。这将起作用,它可能是最简单的方法,但是现有的标准已经解决了这个问题,这是一个重新发明轮子的例子。 –