两年前,我不得不设计一个跨多个域共享身份验证数据的系统,所有这些域都共享相同的服务器/数据库。我通过一个复杂的cookie共享系统做到了这一点,到目前为止,这个系统仍然有效。
我现在正在重新设计系统,我想知道是否有更好的方法来实现这一点,而不必编写跨域cookie。
基本上,系统必须做到这一点。
一旦登录到一个站点,用户必须无缝地登录到所有其他站点,不仅要遵循链接,甚至要直接将域名写在地址栏上。
据我所知,实现这一点的唯一方法是跨域cookie,如果有替代方案,请告诉我。
非常感谢
发布于 2010-10-14 21:35:46
我的想法是包含一个来自第三个域的login-Javascript,它包含在所有站点中。这个javascript设置和读取会话cookie,并使用结果通过ajax调用当前域服务器。(不应该在JS中进行验证-这只是设置和读取cookie)
如果跨域AJAX不起作用,您仍然可以调用第三个域服务器,该服务器充当代理并调用当前域服务器。
发布于 2010-10-14 21:45:03
StackOverflow站点已经实现了类似的东西。请访问以下链接查看详细信息。
发布于 2010-10-14 21:27:39
为此,您必须使用cookie,但您可以改变存储在cookie中的内容。cookie不必包含用户凭据,但可以包含更像令牌的内容,用于“集中”您的会话。
简单的方法是让所有主机共享一个memcached服务器,并使用用户cookie的内容作为您的密钥。
https://stackoverflow.com/questions/3933539
复制相似问题