【发布时间】:2012-01-30 00:58:15
【问题描述】:
我有几个域,我想进行会话。 我创建了一个这样的方法:
用户登录在一个中心位置完成,会话保存在数据库中。
假设用户 A 想要访问 abc.com 域。我的应用程序将其重定向到他登录的主身份验证域。 登录后生成一个身份验证令牌,该令牌保存在会话表的一个字段中,并传回 abc.com 应用程序。
我使用 auth_token 从数据库中获取 session_id 并将 abc.com 的 session_id 设置为相同。
问题是它总是创建一个新会话。
这是我的 abc.com 代码
$sessionId = // get from the database using the auth_token.
/* CLOSE PREVIOUS SESSION */
session_destroy();
// sets the new id.
session_id($sessionId);
/** start new session * */
session_start();
我错过了什么? 我正在使用带有 Symfony 框架的 php。不知道它是否与 symfony 会话处理有关。
【问题讨论】:
-
域是否在同一台服务器上?这是一个链接,其中包含您想要做什么的示例。看起来你做对了,所以我想说你的框架可能正在阻止它。 gonnalearn.com/2008/04/10/…
-
你使用的是什么版本的 symfony? 1 个 symfony 中的 2 个域 2 个应用程序是安装,还是它们的系统是独立的?
-
其中一个域运行 Symfony 1.4,另一个运行 Symfony 1.3。是的,这些域在同一台服务器上。
-
@brpaz 能否请您添加完整的源代码来回答?
标签: php session cookies symfony1 cross-domain