如何在Symfony操作中获取会话ID?

时间:2011-07-23 02:28:48

标签: session doctrine symfony-1.4 sessionid sfguard

我正在使用Symfony 1.4和Doctrine 1.2。我需要在一个动作中获取会话ID。

我正在使用doctrine会话存储,并且工作正常。我也在使用sfDoctrineGuardPlugin,并且能够根据推荐的做法在用户中获取和设置会话变量,使用如下代码:

$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');

但是如何获取当前用户的会话ID?

1 个答案:

答案 0 :(得分:3)

您似乎无法从用户对象访问sfStoragesfSessionStorage将用户数据存储在会话中......

因此,我目前看到的唯一方法就是调用“原生”session_id()

如果你想要它完美,你应该扩展sfSessionStorage添加一个方法来检索会话ID。然后将此存储分配给用户,您就可以调用$this->getUser()->getStorage()->getSessionId();