如何在 Symfony 操作中获取会话 ID?
我正在使用 Symfony 1.4 和 Doctrine 1.2。我需要在操作中获取会话 ID。
我正在使用学说会话存储,效果很好。我还使用 sfDoctrineGuardPlugin,并且能够根据推荐的做法在用户中获取和设置会话变量,使用如下代码:
$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');
但是如何获取当前用户的会话 id?
I'm using Symfony 1.4 and Doctrine 1.2. I need to get the session ID inside an action.
I'm using doctrine session storage and that works fine. I'm also using sfDoctrineGuardPlugin and am able to get and set session variables in the user according to recommended practice, using code like this:
$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');
But how do I get the session id of the current user?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您似乎无法从用户对象访问 sfStorage 。
sfSessionStorage
在会话中存储用户数据...所以我目前看到的唯一方法是调用“本机”
session_id()
。如果您想要完美,您应该扩展
sfSessionStorage
添加一个方法来检索会话 id。然后将此存储分配给用户,您就可以调用$this->getUser()->getStorage()->getSessionId();
。It seems like you can't access the
sfStorage
from the user object. ThesfSessionStorage
stores the user data in the session...So the only way I currently see is calling the 'native'
session_id()
.If you want to it perfectly you should extends the
sfSessionStorage
adding a method to retrieve the session id. Then assign this storage to the user, and you would be able to call$this->getUser()->getStorage()->getSessionId();
.