【问题标题】:Sharing data between two web apps hosted on the same server在同一服务器上托管的两个 Web 应用程序之间共享数据
【发布时间】:2012-12-20 21:46:32
【问题描述】:

我有两个不同的 Web 应用程序托管在同一台服务器上,这两个 Web 应用程序位于完全不同的域中。 Web 应用程序将有许多共同的用户,所以我想在两个应用程序之间共享登录。在我的 Web 应用程序中,我将 cookie 设置为会话 ID。如何让 Web 应用程序查看其他应用程序的会话 ID?

如果你们需要更多信息,服务器是您的标准 LAMP 服务器,并且应用程序使用的是 CakePHP 框架。

提前致谢!

【问题讨论】:

  • 您是否考虑过将其中一个应用程序设置为 api?然后修改 Auth 组件以检查用户的 api 和用户的本地数据库?
  • 我不是 100% 确定你在说什么@TimJoyce,但两个应用程序已经使用相同的用户表,因此两个应用程序可以使用相同的信息进行身份验证(即用户 John 可以使用他的一个用户名和密码)。我只是希望它自动发生,用户无需做任何事情。

标签: php session cakephp web-applications cookies


【解决方案1】:

你不能。可以,但严格来说,Cookie 只能用于一个域(以及所有子域,具体取决于 CakePHP 应用程序中 app/config/core.php 中设置的 Cookie 路径)。

CakePHP 或没有 CakePHP,cookie 不能跨域使用。但是有一个解决方法。这是关于 SO 的一个很常见的问题。这是一个很好的答案:

How do I use cookies across two different domains?

【讨论】:

  • 我尝试使用该链接中解释的方法,但它不适用于我的设置。
  • 更新:这不起作用,因为我在浏览器中禁用了第三方 cookie 进行测试。因此,如果启用了第三方 cookie,此方法将适用于我的情况。
猜你喜欢
  • 1970-01-01
  • 2012-08-19
  • 2011-12-15
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多